Impossible de charger le fichier ou l'assembly 'WebGrease' une de ses dépendances. L'assemblée manifeste définition ne correspond pas à la référence d'assembly
Ce problème a plusieurs solutions, veuillez lire toutes les réponses ci-dessous, ils peuvent vous aider à résoudre votre problème. Si vous trouvez une nouvelle façon de résoudre ce problème, veuillez document dans votre réponse
Je suis en train d'ajouter un Système.Web.L'optimisation de mon ASP.NET Web solution de Formulaires.
J'ai ajouté de Microsoft ASP.NET l'Optimisation Web Cadre de Packages NuGet. Il a ajouté Microsoft.Web.Infrastracture et WebGrease (1.5.2) pour les références.
Cependant, lorsque je lance
<%= System.Web.Optimization.Scripts.Render("~/bundles/js")%>
- Je obtenir de l'erreur d'exécution
Could not load file or assembly 'WebGrease, Version=1.5.1.25624, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
J'ai essayé d'ajouter assemblyBinding sur le Web.Config
<runtime>
<legacyUnhandledExceptionPolicy enabled="1"/>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-1.5.1.25624" newVersion="1.5.2.14234"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
Mais sans succès.
J'ai remarqué que mon Site Web de config contient cette ligne
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
Si je le remplace par
<configuration>
Ensuite, tout fonctionne et je n'ai pas l'erreur d'exécution. Malheureusement, j'ai besoin de la xmlns. Les autres composants de mon projet en dépend.
Pourquoi Optimisation essayez de charger une version antérieure lorsque le schéma est pointant vers v2.0? Est-il un moyen de le forcer à charger la dernière ou la seule disponible WebGrease.dll?
Quoi d'autre puis-je essayer sans modifier la
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0"> ?
Merci pour toute aide que vous pouvez fournir!
Edit:
1) Installer FusionLog Résultat. Il sera peut-être utile
=== Pre-bind state information ===
LOG: User = [USER]
LOG: DisplayName = WebGrease, Version=1.5.1.25624, Culture=neutral, PublicKeyToken=31bf3856ad364e35
(Fully-specified)
LOG: Appbase = file:///C:/Projects/PROJECT_NAME/trunk/www.PROJECT_NAME.com/
LOG: Initial PrivatePath = C:\Projects\PROJECT_NAME\trunk\www.PROJECT_NAME.com\bin
Calling assembly : System.Web.Optimization, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35.
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: C:\Projects\PROJECT_NAME\trunk\www.PROJECT_NAME.com\web.config
LOG: Using host configuration file:
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config.
LOG: Post-policy reference: WebGrease, Version=1.5.1.25624, Culture=neutral, PublicKeyToken=31bf3856ad364e35
2) a Confirmé, Le problème est dans
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
Cependant, je ne comprends pas pourquoi
OriginalL'auteur Roman Mik | 2014-01-03
Vous devez vous connecter pour publier un commentaire.
J'ai rencontré ce problème sur un serveur de prod, alors que tout fonctionnait correctement sur l'ordinateur du développeur. Ces lignes ont contribué à:
Cela m'a sauvé au moins deux fois maintenant, comme je l'ai réalisé quand je suis allé à aller upvote vous de nouveau. Aucune idée de la raison de la mauvaise version uniquement être référencés sur mon serveur de prod, comme vous? La version correcte semble être référencé dans VS via NuGet. Merci =)
Besoin de vérifier la Fusion du journal. Peut-être une machine à l'échelle de config contient une règle de redirection sur un dev PC.
Intéressant, si xmlns="urn:schemas-microsoft-com:asm.v1" aurait été d'une correction dans mon cas aussi. Malheureusement, je n'ai pas l'accès au code de ma question plus.
Merci pour votre réponse. Juste eu le même problème à l'heure actuelle alors que le déploiement d'un MVC 4 application pour la première fois sur une nouvelle WS 2008 / IIS 7.5. Je ne sais pas à partir de ce que ce type de comportement est que j'ai juste appliqué le correctif sans faire la fusion log / machine.config vérifie des trucs, mais on dirait de venir avec une version de .Net et d'autres composants, même si les fichiers de configuration et le GAC bibliothèques par défaut sont vierges de toutes les modifications manuelles...
OriginalL'auteur Der_Meister
Enfin, la question était
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
. Il a causé la méthode de Rendu à la charge de mal WebGrease assemblée.Retrait de la xmlns résolu le problème pour moi.
J'aimerais savoir pourquoi cela me brise le projet, parce que la ligne est requis dans le premier niveau de mon web.config pour mon site web.les tests.config pour remplacer la chaîne de connexion. Retirer les correctifs de mon projet, mais en même temps s'arrête mon transformations.
J'ai lu les différentes réponses, essayé quelques-uns d'entre eux, et pas de chance jusqu'à ce que j'ai enlevé la xmlns référence, comme indiqué dans cette réponse.
OriginalL'auteur Roman Mik
J'ai modifié mon site web.fichier de configuration de sorte que la nouvelleversion="1.0.0.0" correspondait à mes fichier Référencé version:
Fonctionne pour moi. Assurez-vous de changer la nouvelleversion ci-dessus pour correspondre à votre DLL. Dans mon cas, c'était <bindingRedirect oldVersion="1.0.0.0-1.6.0.0" nouvelleversion="1.3.0.0" />
j'ai dû enlever la totalité de la webgrease dependantAssembly bloc et débarrasser de cela pour moi
Il a été un moment depuis que j'ai eu à mettre en œuvre cette solution, donc je ne me souviens pas précisément quels sont les paramètres qui sont responsables, mais je crois que nouvelleversion="...." doit correspondre à la version du package de la oldVersion="..." doit inclure la nouvelle version de sa gamme... mais doit être compatible .......????
OriginalL'auteur DaniDev
Juste au cas où il aide à quelqu'un, j'ai eu le même problème, mais il lui a été causé par une personne à charge assemblée de WebGrease, à savoir
Antlr3
. Il a ajouté ce qui suit àruntime
élémentweb.config
lors de l'installation via NuGet:Simplement la suppression de ce corrigé mon problème.
OriginalL'auteur Dan Diplo
Dans mon cas, le problème s'est avéré être un Instruction de Traitement XML (PI) (
<?blah ... ?>
) dans mon web.fichier de configuration. Parfaitement légal XML! mais il a causé ce message d'erreur pour se montrer et m'a fait regarder dans tous les mauvais endroits.De mon site web.config ressemblaient à la suite de la note XML PI dans le
connectionStrings
section:Noter que le XML PI
<?blah ... ?>
était dans leconnectionStrings
section -- qui est, nulle part près de l'assemblyBinding
section, ou labindingRedirect
entrées pourWebGrease
etc (qui étaient correctes!).OriginalL'auteur Barumpus
J'ai eu ce même problème mais c'est le résultat de la copie d'une solution de mon développement local de l'ordinateur à un lecteur réseau où nous stockons nos projets. J'ai été incapable d'obtenir la référence à fonctionner correctement lorsque j'ai ouvert la solution à partir d'un lecteur mappé et j'ai continué à recevoir cette erreur. Seule solution temporaire que j'ai trouvé pour mon problème spécifique a été l'ouverture de la solution à partir de son chemin d'accès UNC et non pas la lettre de lecteur mappé.
OriginalL'auteur Pat Migliaccio
rencontré le même problème dans les formulaires web site .net 4.5 simple mise à jour de packages nuget à la dernière version m'a aidé.
OriginalL'auteur Radekk