web-dev-qa-db-fra.com

Impossible de charger le fichier ou l'assembly 'WebGrease' ou l'une de ses dépendances

Lorsque je lance mon application Web MVC4, il me donne l'erreur suivante:

Could not load file or Assembly 'WebGrease' or one of its dependencies. The located Assembly's manifest definition does not match the Assembly reference. (Exception from HRESULT: 0x80131040)

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.IO.FileLoadException: Could not load file or Assembly 'WebGrease' or one of its dependencies. The located Assembly's manifest definition does not match the Assembly reference. (Exception from HRESULT: 0x80131040)

Source Error: 

An unhandled exception was generated during the execution of the current web request. Information regarding the Origin and location of the exception can be identified using the exception stack trace below.

J'avais web.config comme:

 <assemblyBinding xmlns="urn:schemas-Microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-1.3.0.0" newVersion="1.3.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
      </dependentAssembly>
    </assemblyBinding>

Après avoir référé quelques réponses sur SO, je l'ai changé en:

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

Mais cela ne fonctionne toujours pas.

Quel peut être le problème?

Modifier:

enter image description here

Edit 2:

Encore après l'erreur après l'installation du paquet:

Server Error in '/' Application.

Configuration Error

Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately. 

Parser Error Message: Could not load file or Assembly 'MySql.Web, Version=6.7.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d' or one of its dependencies. The system cannot find the file specified.

Source Error: 


Line 249:      <providers>
Line 250:        <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="LocalSqlServer" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="1" passwordAttemptWindow="10" passwordStrengthRegularExpression="" />
Line 251:        <add name="MySQLMembershipProvider" type="MySql.Web.Security.MySQLMembershipProvider, MySql.Web, Version=6.7.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" connectionStringName="LocalMySqlServer" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="false" passwordFormat="Clear" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="1" passwordAttemptWindow="10" passwordStrengthRegularExpression="" />
Line 252:      </providers>
Line 253:    </membership>

S'il vous plaît, aidez-moi, je travaille pour la première fois sur l'application MVC4 Kendu.

35
C Sharper

J'ai eu le même problème. 

Cela a été résolu par

1) exécution de la console du gestionnaire de packages

2) dans la console, tapez: 'Install-Package Microsoft.AspNet.Web.Optimization'

qui a résolu toutes les dépendances incorrectes.

54
Mark H

Je devais exécuter Update-Package -Reinstall Microsoft.AspNet.Web.Optimization 

Cela a mis à jour mon web.config et toutes les références

4
Eric Herlitz

Remplacer:

<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" /> <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />

Pour:

 <assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" />
    <bindingRedirect oldVersion="1.0.0.0-1.3.0.0" newVersion="1.3.0.0" />
3
Alex Escobar

Vérifiez le contenu de la section runtime/assemblyBinding dans web.config. J'ai trouvé des éléments dependAssembly mal enregistrés après avoir installé le package Kendo UI. J'ai supprimé manuellement les doublons et le problème a disparu. 

3
Frantisek Bachan

Ce problème se produit lorsque votre dll référencée peut être différente de votre configuration de fichier web.config. Vous devez réinstaller la DLL.

3
Salman Saiyad

Il suffit de mettre à jour WebGrease à 1.6 

PM> Update-Package WebGrease -Version 1.6
1
Ali Umair

Ma situation était la suivante: a bien fonctionné sur ma machine de développement mais a obtenu la même erreur "webgrease missing" sur la plate-forme hôte . Ma solution:
1. Suppression de tous les fichiers .dll du répertoire\bin
2. Suppression de toutes les références de web.config.
3. Comme j'ai actualisé la page d'accueil et obtenu une erreur "some-next.dll était manquant", j'ai copié que some-next.dll dans le répertoire bin ET ajouté la référence à web.config pour chaque "fraîche" dll

Remarque: regardez les propriétés WebGrease.dll | onglet détails - assurez-vous que la version du produit correspond au <dependentAssembly>. Dans mon cas, c'était ceci:

<dependentAssembly>
  <assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" culture="neutral" />
  <bindingRedirect oldVersion="0.0.0.0-1.5.1.25624" newVersion="1.6.5135.21930" />
</dependentAssembly>
0
Gary Huckabone