37 votes

Après la mise à niveau vers webgrease 1.5.1.25624 à partir de nuget, System.IO.FileLoadException arrive

Je suis asp.net la mort de page, ce qui est à venir après j'ai mis à jour webgrease et bootstrap pour mvc4 à l'aide de nuget.

Erreur de serveur dans l'Application'/'.


Impossible de charger le fichier ou l'assembly 'WebGrease' ou une de ses les dépendances. Nom fort de signature n'a pas pu être vérifiée. L' l'assemblée peut avoir été altérée, ou il a été signé mais n'a pas de retard entièrement signé avec la clé privée appropriée. (Exception de HRESULT: 0x80131045) Description: Une exception non gérée s'est produite au cours de la l'exécution de la demande web actuelle. Veuillez consulter la trace de pile pour plus d'informations sur l'erreur et où elle a son origine dans le code.

Détails De L'Exception: System.IO.FileLoadException: impossible de charger le fichier ou l'assembly 'WebGrease' ou une de ses dépendances. Nom fort la signature ne peut être vérifiée. L'assemblée peut avoir été altérée avec, ou il était en retard signé mais n'a pas entièrement signé avec le bon la clé privée. (Exception de HRESULT: 0x80131045)

Source De L'Erreur:

Une exception non gérée s'est produite lors de l'exécution de la demande web actuelle. Informations concernant l'origine et l'emplacement de l'exception peut être identifié à l'aide de la trace de pile d'exception ci-dessous.

L'assemblée Charge de Trace: Les informations suivantes peuvent être utiles à déterminer pourquoi l'assemblée "WebGrease' n'a pas pu être chargé.


Les Informations De Version: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.18045

36voto

MSRS Points 618

Forcer la désinstallation du package à l'aide de la console Package Manager

 uninstall-package -f WebGrease
 

puis installez la version précédente 1.3.0 à l'aide de la commande suivante

 install-package WebGrease -Version 1.3.0
 

Ouvrez votre fichier Web.config et remplacez la dépendance ci-dessous par la balise d'exécution

 <dependentAssembly>
    <assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-1.3.0.0" newVersion="1.3.0.0" />
 

8voto

Dunken Points 1099

J'ai dû ajouter le code suivant dans 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>
...
 

5voto

RredCat Points 1701

J'ai eu la même erreur. C'est arrivé parce que le nuget a mis à jour la dll WebGrease mais n'a pas mis à jour un fichier web.config (version particulière de la dll utilisée).

J'ai donc changé la ligne suivante dans mon web.config:

  <bindingRedirect oldVersion="0.0.0.0-1.5.2.14234" newVersion="1.5.2.14234" />
 

à

 <bindingRedirect oldVersion="0.0.0.0-1.6.5135.21930" newVersion="1.6.5135.21930" />
 

Nombre de versions (1.6.5135.21930) que j'ai extraites des propriétés de la DLL.

Après cela, tout fonctionne correctement.

3voto

eugchi Points 96

Nous sommes conscients d'une erreur dans la signature du nom fort de l'assembly et nous travaillons donc activement à la publication d'une version mise à jour dès que possible. Pour l'instant, nous n'avons pas répertorié le package WebGrease 1.5.1 de nuget.org.

0voto

GodLovesYou Points 1

Essayez ceci: Vérifiez si les dll ci-dessus sont dans GAC. Si tel est le cas, dans le dossier bin de votre application personnalisée, vérifiez si les dll ci-dessus sont présentes, le cas échéant, supprimez-les de votre référence.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X