web-dev-qa-db-fra.com

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

Je suis la page de mort asp.net, cela vient après que j'ai mis à jour webgrease et bootstrap pour mvc4 en utilisant nuget.

Erreur serveur dans l'application '/'.


Impossible de charger le fichier ou l'assembly 'WebGrease' ou l'une de ses dépendances. La signature du nom fort n'a pas pu être vérifiée. Il se peut que l'Assemblée ait été falsifiée ou qu'elle ait été signée avec retard mais pas entièrement signée avec la bonne clé privée. (Exception de HRESULT: 0x80131045) Description: Une exception non gérée s'est produite lors de l'exécution de la demande Web en cours. Veuillez consulter la trace de la pile pour plus d'informations sur l'erreur et son origine dans le code.

Détails de l'exception: System.IO.FileLoadException: impossible de charger le fichier ou l'assembly 'WebGrease' ou l'une de ses dépendances. La signature du nom fort n'a pas pu être vérifiée. Il se peut que l'Assemblée ait été falsifiée ou qu'elle ait été signée avec retard mais pas entièrement signée avec la bonne clé privée. (Exception de HRESULT: 0x80131045)

Erreur source:

Une exception non gérée a été générée lors de l'exécution de la demande Web actuelle. Les informations concernant l'origine et l'emplacement de l'exception peuvent être identifiées à l'aide de la trace de pile d'exceptions ci-dessous.

Trace de chargement de l'assembly: les informations suivantes peuvent être utiles pour déterminer pourquoi l'assembly "WebGrease" n'a pas pu être chargé.


Informations sur la version: Microsoft .NET Framework Version: 4.0.30319; Version ASP.NET: 4.0.30319.18045

37

Forcer la désinstallation du package à l'aide de la console du gestionnaire de packages

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 sous 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" />
36
MSRS

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>
...
8
Dunken

J'ai eu la même erreur. Cela s'est produit parce que nuget a mis à jour la DLL WebGrease mais n'a pas mis à jour un fichier web.config (version spéciale 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 prises des propriétés de la DLL.

Après cela, tout fonctionne correctement.

5
RredCat

Nous sommes conscients d'une erreur dans la signature de nom fort de l'Assemblée et nous travaillons donc activement à publier une version mise à jour dès que possible. Pour l'instant, nous avons supprimé le package WebGrease 1.5.1 de nuget.org.

3
eugchi

Essayez ceci: Vérifiez si les DLL ci-dessus sont dans GAC. Si c'est le cas, dans votre dossier bin d'applications personnalisées, vérifiez si les DLL ci-dessus sont présentes, le cas échéant, supprimez-les de votre référence.

0
GodLovesYou