referencia manifiesto excepción ensamblado definición con coincide 0x80131040 c# asp.net asp.net-mvc azure .net-assembly

c# - excepción - "La definición de manifiesto del ensamblaje ubicado no coincide con la referencia de ensamblaje"



excepción de hresult: 0x80131040 (1)

Implementé una aplicación .NET WebAPI (compilada contra .NET 4.5.2 y ejecutándola localmente) en un Azure App Service.

El error arrojado allí es

No se pudo cargar el archivo o ensamblado ''System.Web.Mvc, Versión = 4.0.40804.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.

He comprobado que System.Web.Mvc.dll en el directorio bin del servicio de aplicaciones tiene un tamaño de 505504 bytes, el mismo tamaño que mi System.Web.Mvc.dll local, que es la versión 4.0.40804.0, ha cambiado 2014- 09-25, y trabajando localmente sin problema. La única diferencia que puedo decir es que tengo .NET 4.5.2 instalado localmente, no 4.6.1, como hace Azure.

La entrada en mi Web.config es

<dependentAssembly> <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" /> <bindingRedirect oldVersion="1.0.0.0-5.0.0.0" newVersion="4.0.40804.0" /> </dependentAssembly>

pero ya lo he intentado

<dependentAssembly> <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" /> <bindingRedirect oldVersion="1.0.0.0-5.0.0.0" newVersion="4.0.0.0" /> </dependentAssembly>

que tampoco funciona

¿Cómo tengo que editar esa entrada para que mi aplicación encuentre el System.Web.Mvc.dll?

Como referencia, el mensaje de error completo es:

Error del servidor en la aplicación ''/''.

No se pudo cargar el archivo o ensamblado ''System.Web.Mvc'' 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.Mvc'' 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.Mvc''.

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: Hay una cierta 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].

Stack Trace:

[FileLoadException: no se pudo cargar el archivo o ensamblado ''System.Web.Mvc'' 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)]

[FileLoadException: no se pudo cargar el archivo o ensamblado ''System.Web.Mvc, Version = 4.0.40804.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.Reflection.RuntimeAssembly._nLoad (AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark y stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) +0 System.Reflection.RuntimeAssembly .nLoad (AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark y stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) +36 System.Reflection.RuntimeAssembly.InternalLoadAssemblyName (AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark y stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) +152 System.Reflection.RuntimeAssembly.InternalLoad (String assemblyString, Evidence assemblySecurity, StackCrawlMark y stackMa rk, IntPtr pPrivHostBinder, Boolean forIntrospection) +77 System.Reflection.RuntimeAssembly.InternalLoad (String assemblyString, Evidence assemblySecurity, StackCrawlMark & ​​stackMark, Boolean forIntrospection) +21 System.Reflection.Assembly.Load (String assemblyString) +28 System.Web.Configuration .CompilationSection.LoadAssemblyHelper (String assemblyName, Boolean starDirective) +38

[ConfigurationErrorsException: no se pudo cargar el archivo o ensamblado ''System.Web.Mvc, Version = 4.0.40804.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.Configuration.CompilationSection.LoadAssemblyHelper (String assemblyName, Boolean starDirective) +738 System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory () +217 System.Web.Configuration.CompilationSection.LoadAssembly (AssemblyInfo ai) +130 System.Web.Compilation.BuildManager.GetReferencedAssemblies (CompilationSection compConfig) +170 System.Web.Compilation.BuildManager.GetPreStartInitMethodsFromReferencedAssemblies () +92 System.Web.Compilation.BuildManager.CallPreStartInitMethods (String preStartInitListPath, Boolean & isRefAssemblyLoaded) +290 System.Web.Compilation.BuildManager.ExecutePreAppStart () +157 System.Web.Hosting.HostingEnvironment.Initialize (ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exception appDomainCreationException) +531

[HttpException (0x80004005): no se pudo cargar el archivo o ensamblado ''System.Web.Mvc, Versión = 4.0.40804.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.HttpRuntime.FirstRequestInit (contexto HttpContext) +9947380 System.Web.HttpRuntime.EnsureFirstRequestInit (contexto HttpContext) +101 System.Web.HttpRuntime.ProcessRequestNotificationPrivate (IIS7WorkerRequest wr, HttpContext context) +261

Información de la versión: Microsoft .NET Framework Version: 4.0.30319; Versión ASP.NET: 4.6.1055.0


Puede consultar "versiones de ensamblaje" en Herramientas> Administrador de paquetes Nuget> Gestionar paquetes NuGet para solución (VS2015). Verifique las versiones de ensambles utilizados en sus proyectos en solución y use una sola versión.