asp.net mvc 4 - Después de actualizar a webgrease 1.5.1.25624 desde nuget, se acerca System.IO.FileLoadException
asp.net-mvc-4 (5)
Soy asp.net death page, esto viene después de actualizar webgrease y bootstrap para mvc4 usando nuget.
Error del servidor en la aplicación ''/''.
No se pudo cargar el archivo o ensamblado ''WebGrease'' o una de sus dependencias. La firma fuerte del nombre no se pudo verificar. Es posible que el ensamblaje se haya manipulado o que se haya firmado con retraso pero no se haya firmado por completo con la clave privada correcta. (Excepción de HRESULT: 0x80131045) 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 ''WebGrease'' o una de sus dependencias. La firma fuerte del nombre no se pudo verificar. Es posible que el ensamblaje se haya manipulado o que se haya firmado con retraso pero no se haya firmado por completo con la clave privada correcta. (Excepción de HRESULT: 0x80131045)
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 ''WebGrease''.
Información de la versión: Microsoft .NET Framework Version: 4.0.30319; Versión ASP.NET: 4.0.30319.18045
Forzar la desinstalación del paquete usando la consola del administrador de paquetes
uninstall-package -f WebGrease
luego instale la versión anterior 1.3.0 usando el siguiente comando
install-package WebGrease -Version 1.3.0
Abra su archivo Web.config y reemplace la dependencia debajo de la etiqueta de tiempo de ejecución
<dependentAssembly>
<assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.3.0.0" newVersion="1.3.0.0" />
Intenta esto: comprueba si los archivos dll anteriores están en GAC. Si es así, en la carpeta bin de aplicaciones personalizadas, compruebe si están presentes las dll anteriores, de ser así elimínelas de su referencia.
Somos conscientes de un error en la sólida firma de nombre de la ensambladora, por lo que estamos trabajando activamente para lanzar una versión actualizada tan pronto como sea posible. Por ahora, hemos excluido el paquete WebGrease 1.5.1 de nuget.org.
Tuve que agregar el siguiente código en web.config:
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.5.2.14234" newVersion="1.5.2.14234" />
</dependentAssembly>
...
Yo tenía el mismo error. Esto sucedió porque nuget actualizó WebGrease dll pero no actualizó un archivo web.config (versión especial de dll usado).
Así que cambié la siguiente línea en mi web.config:
<bindingRedirect oldVersion="0.0.0.0-1.5.2.14234" newVersion="1.5.2.14234" />
a
<bindingRedirect oldVersion="0.0.0.0-1.6.5135.21930" newVersion="1.6.5135.21930" />
Número de versión (1.6.5135.21930) que tomé de propiedades dll.
Después de esto, todo funciona correctamente.