asp.net-mvc-3 razor dependencies asp.net-4.0

asp.net mvc 3 - No se pudo cargar el archivo o ensamblado ''System.Web.WebPages.Razor, Version=2.0.0.0



asp.net-mvc-3 dependencies (11)

Acabo de actualizar paquetes en un proyecto MVC 3 (ASP.net 4), y ahora recibo el siguiente mensaje de error cuando accedo a una página en ese proyecto:

Error de servidor en la aplicación ''/ MyApplication''.

No se pudo cargar el archivo o ensamblado ''System.Web.WebPages.Razor, Version = 2.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35'' o una de sus dependencias. La definición del manifiesto del ensamblaje ubicado no coincide con la referencia de ensamblaje. (Excepción de HRESULT: 0x80131040) Descripción: Se produjo una excepción no controlada durante la ejecución de la solicitud web actual. Revise el seguimiento de la pila para obtener más información sobre el error y dónde se originó en el código.

Detalles de la excepción: System.IO.FileLoadException: no se pudo cargar el archivo o ensamblado ''System.Web.WebPages.Razor, Version = 2.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35'' o una de sus dependencias. La definición del manifiesto del ensamblaje ubicado no coincide con la referencia de ensamblaje. (Excepción de HRESULT: 0x80131040)

Error de fuente:

Se generó una excepción no controlada durante la ejecución de la solicitud web actual. La información sobre el origen y la ubicación de la excepción se puede identificar utilizando el seguimiento de pila de excepción a continuación.

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

=== Información del estado de preajuste === REGISTRO: Usuario = APLICACIÓN IIS / ASP.NET v4.0 REGISTRO: DisplayName = System.Web.WebPages.Razor, Versión = 2.0.0.0, Cultura = neutro, PublicKeyToken = 31bf3856ad364e35 ( Completamente especificado) LOG: Appbase = file: /// C: /.../ LOG: Initial PrivatePath = C: ... / bin Conjunto de llamada: Microsoft.Web.Helpers, Versión = 2.0.0.0, Cultura = neutral , PublicKeyToken = 31bf3856ad364e35. === LOG: Este enlace se inicia en el contexto de carga predeterminado. LOG: Utilizando el archivo de configuración de la aplicación: C: ... / web.config LOG: Usando el archivo de configuración del host: C: / Windows / Microsoft.NET / Framework64 / v4.0.30319 / aspnet.config LOG: Usando el archivo de configuración de la máquina desde C: / Windows / Microsoft.NET / Framework64 / v4.0.30319 / config / machine.config. LOG: Referencia posterior a la política: System.Web.WebPages.Razor, Version = 2.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35 LOG: Intento de descarga del nuevo archivo URL: /// C: /Windows/Microsoft.NET/Framework64 /v4.0.30319/ Archivos temporales ASP.NET /.../ cb62a7b2 / 327a0353 / System.Web.WebPages.Razor.DLL. LOG: Intentando descargar el nuevo archivo URL: /// C: /Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary ASP.NET Files /.../ cb62a7b2 / 327a0353 / System.Web.WebPages.Razor / System .Web.WebPages.Razor.DLL. LOG: Intentando descargar el nuevo archivo URL: /// C: /LeGroupeHtmSVN/.../UpDir.Web/bin/System.Web.WebPages.Razor.DLL. WRN: La comparación del nombre del ensamblado resultó en la falta de coincidencia: Versión principal ERR: Error al completar la configuración del ensamblaje (hr = 0x80131040). Sonda terminada.

Stack Trace:

[FileLoadException: no se pudo cargar el archivo o ensamblado ''System.Web.WebPages.Razor, Version = 2.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35'' o una de sus dependencias. La definición del manifiesto del ensamblaje ubicado no coincide con la referencia de ensamblaje. (Excepción de HRESULT: 0x80131040)]
Microsoft.Web.Helpers.PreApplicationStartCode.Start () +0

[InvalidOperationException: el método de inicialización de inicio de la preinstalación. Comience por el tipo Microsoft.Web.Helpers.PreApplicationStartCode lanzó una excepción con el siguiente mensaje de error: No se pudo cargar el archivo o ensamblado ''System.Web.WebPages.Razor, Version = 2.0.0.0, Cultura = neutral, PublicKeyToken = 31bf3856ad364e35 ''o una de sus dependencias. La definición del manifiesto del ensamblaje ubicado no coincide con la referencia de ensamblaje. (Excepción de HRESULT: 0x80131040).]
System.Web.Compilation.BuildManager.InvokePreStartInitMethods (métodos ICollection`1) +11711966
System.Web.Compilation.BuildManager.CallPreStartInitMethods () +465
System.Web.Hosting.HostingEnvironment.Initialize (ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exception appDomainCreationException) +1167

[HttpException (0x80004005): el método de inicialización de inicio de la preinstalación. Comience por el tipo Microsoft.Web.Helpers.PreApplicationStartCode lanzó una excepción con el siguiente mensaje de error: No se pudo cargar el archivo o ensamblado ''System.Web.WebPages.Razor, Version = 2.0 .0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35 ''o una de sus dependencias. La definición del manifiesto del ensamblaje ubicado no coincide con la referencia de ensamblaje. (Excepción de HRESULT: 0x80131040).]
System.Web.HttpRuntime.FirstRequestInit (HttpContext context) +11700896 System.Web.HttpRuntime.EnsureFirstRequestInit (HttpContext context) +141 System.Web.HttpRuntime.ProcessRequestNotificationPrivate (IIS7WorkerRequest wr, HttpContext context) +4869125

-------------------------------------------------- ------------------------------ Información de versión: Microsoft .NET Framework Version: 4.0.30319; Versión ASP.NET: 4.0.30319.272

En mi archivo web.config, y en mi aplicación, estoy haciendo referencia a System.Web.WebPages.Razor v1.0.0.0:

<dependentAssembly> <assemblyIdentity name="System.Web.WebPages.Razor" publicKeyToken="31bf3856ad364e35" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-1.0.0.0" newVersion="1.0.0.0" /> </dependentAssembly>

Ni siquiera sé si podría usar System.Web.WebPages.Razor v2.0.0.0 con .Net 4.

Ahora, ¿cómo averiguo qué hace referencia a System.Web.WebPages.Razor v2.0.0.0?


¿Cómo averiguo qué hace referencia a System.Web.WebPages.Razor v2.0.0.0?

Simplemente lea su stacktrace de excepción:

Calling assembly : Microsoft.Web.Helpers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35

Parece que está utilizando Microsoft.Web.Helpers que a su vez depende de System.Web.WebPages.Razor, Version=2.0.0.0 .


Corto:
Si tiene este problema con un proyecto de Web API puro (y, por lo tanto, no necesita una afeitadora), intente agregarlo de todos modos, reconstruir y luego eliminarlo.

Larga historia:
Tuve este problema con un nuevo proyecto API Web puro, excepto que stacktrace apuntó "System.Web.Mvc" como ensamblado de llamadas (vea la respuesta de Darin). Sin embargo, ninguna referencia a MVC, Razor o algo así en mi proyecto ...
Decidí agregar los paquetes de MVC (AspNet.Mvc, AspNet.WebPages y AspNet.Razor) para verificar si había algún problema posterior.
La aplicación WebApi se lanzó perfectamente bien. Luego eliminé exactamente los mismos paquetes y todo estaba bien.

Espero que ayude a alguien.



Después de mucho dolor, Google y tirar del pelo, terminé desinstalando MVC 4 usando nuget, borrando todas las referencias a MVC, navaja e infraestructura de la configuración web, borrando los dlls de la carpeta bin y luego usando nuget para reinstalar todo. Tardó menos tiempo que tratar de descubrir por qué los dlls no coincidían.


En ASP.NET MVC 4, el espacio de nombre no es System.Web.WebPages.Razor, sino System.Web.Razor

Eso funcionó para mí, cambie su web.config.



Estaba obteniendo el mismo error después de agregar una referencia innecesaria a System.Web.Mvc . Eliminé todas las referencias que pude encontrar, pero nada parecía funcionar. Finalmente eliminé la carpeta bin del proyecto y el error desapareció después de una reconstrucción.


Este problema comenzó cuando lo hice ''Eliminar referencias no utilizadas''. El sitio web aún funcionaba en mi máquina local, pero no funcionó en el servidor después de la publicación.

Solucioné este problema haciendo lo siguiente,

  1. Abra ''Package Manager Console'' en Visual Studio
  2. Uninstall-Package Microsoft.AspNet.Mvc
  3. Install-Package Microsoft.AspNet.Mvc

Si el proyecto de trabajo anterior falla repentinamente con el error mencionado, puede intentar seguir la solución.

  • Borre la carpeta bin del respectivo proyecto web / servicio.
  • Construir

Esto funcionó para mí.


También recibí este error e intenté todo lo que pude encontrar en línea y no desapareció. Al final, acabo de degradar MVC de 5.2.3 a 4.0.40804. No me gusta esta solución porque eventualmente necesitaré usar MVC 5, pero funciona por ahora. Espero que esto ayude a otros.


Tan sencillo. En Nuget Package Manager Console:

Paquete de actualización Microsoft.AspNet.Mvc -Reinstalar