No se pudo cargar el archivo o ensamblado ‘System.Web.Mvc’

Mi nueva aplicación web ASP.NET MVC funciona en mi estación de trabajo de desarrollo, pero no se ejecuta en mi servidor web …


Error del servidor en la aplicación ‘/’.


Error de configuración

Descripción: Se produjo un error durante el procesamiento de un archivo de configuración requerido para atender esta solicitud. Revise los detalles de error específicos a continuación y modifique su archivo de configuración de manera adecuada.

Mensaje de error del analizador: No se pudo cargar el archivo o ensamblado ‘System.Web.Mvc, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35’ o una de sus dependencias. El sistema no puede encontrar el archivo especificado.

Error de fuente:

Line 44:  Line 45:  Line 46:  Line 47:  Line 48:  

Archivo fuente: C: \ inetpub \ www.example.org \ web.config Línea: 46

Rastreo de carga de ensamblaje: la siguiente información puede ser útil para determinar por qué no se pudo cargar el ensamblado ‘System.Web.Mvc, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35’.

 WRN: el registro de enlace de ensamblaje está APAGADO.
 Para habilitar el registro de fallas de enlace de ensamblaje, establezca el valor de registro [HKLM \ Software \ Microsoft \ Fusion! EnableLog] (DWORD) en 1.
 Nota: Existe una penalización de rendimiento asociada con el registro de fallas de enlace de ensamblaje.
 Para desactivar esta función, elimine el valor de registro [HKLM \ Software \ Microsoft \ Fusion! EnableLog].

Información de versión: Microsoft .NET Framework Version: 2.0.50727.3053; Versión ASP.NET: 2.0.50727.3053


¿Debo instalar AspNetMVCBeta-setup.msi en el servidor? ¿O hay un instalador diferente para los servidores?

enter image description here

Acabo de escribir una publicación de blog que aborda esto. Puede instalar ASP.NET MVC en su servidor O puede seguir los pasos aquí .


EDITAR: (por jcolebrand) Pasé por este enlace, luego tuve el mismo problema que Víctor a continuación , por lo que le sugiero que también agregue estos:

 * Microsoft.Web.Infrastructure * System.Web.Razor * System.Web.WebPages.Deployment * System.Web.WebPages.Razor 

Me encontré con el mismo problema que sgriffinusa. Además de las referencias, el artículo de Phil sugiere: http://www.haacked.com/archive/2008/11/03/bin-deploy-aspnetmvc.aspx . Agregué estos:

 * Microsoft.Web.Infrastructure * System.Web.Razor * System.Web.WebPages.Deployment * System.Web.WebPages.Razor 

La implementación de Godaddy funcionó perfectamente. Desactiva los errores personalizados y agrega referencias para corregir los errores. Eso debería guiarte en la dirección correcta.

La instalación de MVC directamente en su servidor web es una opción, ya que los ensamblajes se instalarán en el GAC. También puede implementar bin los ensamblados, lo que puede ayudar a mantener su servidor libre de ensamblajes previos a la liberación hasta que esté disponible una versión final.

Phil Haack publicó un buen artículo hace unos días acerca de cómo implementar MVC junto con su aplicación, por lo que no es necesario instalarlo directamente:

http://www.haacked.com/archive/2008/11/03/bin-deploy-aspnetmvc.aspx

Me encontré con este mismo problema al intentar implementar mi aplicación web MVC3 Razor en el alojamiento compartido GoDaddy. Hay algunos .dlls adicionales que deben ser referenciados. Detalles aquí: http://paulmason.biz/?p=108

Básicamente, debe agregar referencias a las siguientes, además de las que figuran en la publicación de @ Haacked y configurarlas para que se implementen localmente tal como se describe.

  • Microsoft.Web.Infraestructura
  • System.Web.Razor
  • System.Web.WebPages.Deployment
  • System.Web.WebPages.Razor

En VS2010, haga clic con el botón derecho en el proyecto en el Explorador de soluciones y seleccione ‘Agregar dependencias desplegables’. Luego, marque las casillas de verificación relacionadas con MVC en el siguiente cuadro de diálogo.

Esto crea una carpeta ‘_bin_deployableAssemblies’ en el proyecto que contiene todos los archivos .dll mencionados en otras respuestas. Creo que estos se copian en la carpeta bin cuando se crea un paquete de implementación.

Solución simple En VS2010, haga clic derecho en su proyecto MVC, seleccione “Agregar dependencias desplegables …”, seleccione las opciones que desee y haga clic en Aceptar

Queremos agregarlo porque estamos creando una biblioteca de clases que lo usa.

Para mí está aquí …

C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 4\Assemblies

Tuve el mismo problema y agregué todo el ensamblaje que dijeron pero obtuve el mismo error.

resulta que debe hacer que la ” Versión específica ” = False.

La versión específica debe ser falsa.

Solución rápida y simple: Enfrenté este problema con Microsoft.AspNet.Mvc-Versión 5.2.3 y después de revisar todos estos hilos encontré la solución más simple.

Solo sigue los pasos:

  1. Abre NuGet Package Manager en Visual Studio para tu proyecto
  2. Busque Microsoft.AspNet.Mvc
  3. Cuando se encuentre, cambie la acción para Desinstalar y Desinstalarlo
  4. Una vez hecho esto, instálelo de nuevo y pruébelo ahora

Esto corregirá automáticamente todos los problemas con las referencias. Ver imagen a continuación:

enter image description here

Si NO está usando un proveedor de alojamiento, y tiene acceso al servidor para instalarlo … Luego instale las herramientas de actualización MVC 3, haga eso … le ahorrará horas de problemas en un servidor Windows 2003 / máquina IIS6. , Comenté en esta página aquí el número de versión de Nuget.Core.dll no coincide

Además de la publicación de Haack, Hanselman también tiene una publicación similar. BIN Implementación de ASP.NET MVC 3 con Razor en un servidor de Windows sin MVC instalado

Para mí, la solución “Copiar local = verdadero” fue insuficiente porque las referencias de proyectos de mi sitio web no incluían todos los dlls que faltaban. Como Scott menciona en su publicación, también necesitaba obtener dlls adicionales de la siguiente carpeta en mi caja de desarrollo: C: \ Archivos de progtwig (x86) \ Microsoft ASP.NET \ ASP.NET Web Pages \ v1.0 \ Assemblies. El mensaje de error me informó que dll faltaba (System.Web.Infrastructure, System.Web.Razor, etc.) Continué agregando cada dll faltante, uno por uno, hasta que funcionó.

He hecho un “paquete de actualización-reinstalar Microsoft.AspNet.Mvc” para solucionarlo en Visual Studio 2015.

También verifique la versión del ensamblado en web.config dentro de su carpeta de Vistas y asegúrese de que coincida. A veces me olvido de que hay una segunda web.config en esa ubicación.

Tuve el mismo problema con un montón de archivos de ensamblaje después de mover el proyecto a otra solución.

Para mí, el archivo web.config estaba intentando agregar este ensamblado:

  

Pensé que la referencia en el proyecto apuntaba hacia la versión 3.0.0.0 (haga clic en la referencia y desplácese hasta la parte inferior de las propiedades). Por lo tanto, acabo de cambiar la versión de referencia en el archivo web.config .

No sé si esto fue solo un error de algún tipo. El problema al agregar todas las otras referencias era que las referencias aparecían en el archivo de configuración pero en realidad no se hacía referencia en el proyecto (dentro del explorador de soluciones) y los archivos necesarios no se copiaban con el rest de los archivos del proyecto. probablemente debido a no ser "copy local = true"

Ahora, no pude encontrar estos ensamblajes en los ensamblajes acoplables (haciendo clic con el botón derecho en la referencia e intentando agregarlos de los ensamblajes o extensiones). En su lugar, creé una nueva solución MVC que agregaba todos los ensamblajes y referencias que necesitaba, y los encontraba bajo las nuevas referencias de proyectos en el explorador de soluciones y encontraba su ruta en la ventana de propiedades para la referencia.

Luego copié las bibliotecas que necesitaba en el otro proyecto y las referenciaba.

Después de probar todo y aún fallar, esta fue mi solución: recordé que tenía y el último error fue actualizar la versión MVC en mi Visual Studio, así que ejecuté el proyecto desde otro Visual Studio (computadora diferente) y cargué el dll-s y funcionó. tal vez ayudará a alguien …

Estoy usando Jenkins con proyectos .net y tuve problemas con las referencias de MVC 4.

Finalmente, resuelvo mi problema utilizando una funcionalidad de motor de búsqueda de referencia .Net basada en el registro que usa:

“HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft.NETFramework \ v2.0.50727 \ AssemblyFoldersEx”

Puede crear subkey et establecer la clave predeterminada para “c: \ myreferenceedir”, por ejemplo.

Me salvó con las versiones de MVC y también con las páginas web de ASP.net.

Útil para agregar referencias al “Agregar cuadro de diálogo de referencia”

http://dhakshinamoorthy.wordpress.com/2011/12/04/how-to-register-your-net-assembly-in-gac-and-make-it-show-in-add-reference-dialog/

Como otros han mencionado, agregue estas referencias a los estudios visuales con Copy Local establecido en true . (También tuve que agregar System.Web.Webpages )

 Microsoft.Web.Infrastructure System.Web.Razor System.Web.WebPages.Deployment System.Web.WebPages.Razor System.Web.Webpages 

Agregué “Microsoft ASP.NET Razor” usando Manage NuGet Packages.

Con Agregar referencias, por alguna razón, solo tenía System.Web.Helpers 1.0.0 y 2.0.0 … pero no 3.0.0.

Otra opción que funcionó de mí fue eliminar las referencias a System.Web.Mvc y System.Web.Http … luego volver a agregarlas a las ubicaciones del paquete en el archivo csproj (puede editar el proyecto con mayor facilidad un editor de texto):

  ..\packages\Microsoft.AspNet.WebApi.Core.5.2.3\lib\net45\System.Web.Http.dll  ..\packages\Microsoft.AspNet.Mvc.5.2.3\lib\net45\System.Web.Mvc.dll 

Una consideración importante es el archivo web.config, algunos paquetes pueden alterar sus redireccionamientos de enlace causando esgulps (el paquete fraudulento estaba en el paquete interno que no eliminé el archivo web.config del paquete o me aseguré de que el archivo web.config estuviera en el paquete). no tiene ninguna redirección de enlace. Por ejemplo, al eliminar el nodo duplicado e incorrecto se resuelve este

                                                                   

al eliminar las líneas 8 a 24 corrige la construcción.