67 votes

Impossible de charger le fichier ou l'assemblage "System.Web.WebPages.Razor, Version=2.0.0.0".

Je viens de mettre à niveau des paquets dans un projet MVC 3 (ASP.net 4), et je reçois maintenant le message d'erreur suivant lorsque j'accède à une page de ce projet :

Erreur de serveur dans l'application '/MyApplication'.

Impossible de charger le fichier ou l'assemblage 'System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' ou une de ses dépendances. La définition du manifeste de l'assemblage localisé ne correspond pas à la référence de l'assemblage. (Exception de HRESULT : 0x80131040) Description : Une exception non gérée s'est produite pendant l l'exécution de la demande Web actuelle. Veuillez consulter la trace de la pile pour obtenir plus d'informations sur l'erreur et sur son origine dans le code.

Détails de l'exception : System.IO.FileLoadException : Impossible de charger le fichier ou assemblage 'System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' ou l'une de ses dépendances. La définition du manifeste de l'assemblage situé à l'adresse l'assemblage localisé ne correspond pas à la référence de l'assemblage. référence. (Exception de HRESULT : 0x80131040)

Erreur de source :

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

Trace de chargement de l'assemblage : Les informations suivantes peuvent être utiles pour déterminer pourquoi l'assemblage 'System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutre, PublicKeyToken=31bf3856ad364e35' n'a pas pu être chargé.

\=== Informations sur l'état de préliaison === LOG : Utilisateur = IIS APPPOOL \ASP.NET v4.0 LOG : DisplayName = System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 (Entièrement spécifié) LOG : Appbase = file:///C:/.../ LOG : Initial PrivatePath = C :... \bin Assemblage appelant : Microsoft.Web.Helpers, Version=2.0.0.0, Culture=neutre, PublicKeyToken=31bf3856ad364e35. === LOG : Ce bind démarre dans le contexte de chargement par défaut. LOG : Utilisation du fichier de configuration de l'application : C :... \web.config LOG : Utilisation du fichier de configuration de l'hôte d'hôte : C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet.config LOG : Utilisation du fichier de configuration de la machine à partir de C:\Windows\Microsoft.NET\Framework64\v4.0.30319\config\machine.config. LOG : Référence post-politique : System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutre, PublicKeyToken=31bf3856ad364e35 LOG : Tentative de téléchargement de la nouvelle URL file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary Fichiers ASP.NET/.../cb62a7b2/327a0353/System.Web.WebPages.Razor.DLL. LOG : Tentative de téléchargement de la nouvelle URL file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary ASP.NET Files/.../cb62a7b2/327a0353/System.Web.WebPages.Razor/System.Web.WebPages.Razor.DLL. LOG : Tentative de téléchargement de la nouvelle URL file:///C:/LeGroupeHtmSVN/.../UpDir.Web/bin/System.Web.WebPages.Razor.DLL. WRN : La comparaison du nom de l'assemblage a donné lieu à une discordance : Major Version ERR : Impossible de terminer la configuration de l'assemblage (hr = 0x80131040). Sondage terminé.

Stack Trace :

[FileLoadException : Impossible de charger le fichier ou l'assemblage System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' ou l'une de ses dépendances. La définition du manifeste de l'assemblage situé à l'adresse l'assemblage localisé ne correspond pas à la référence de l'assemblage. référence. (Exception de HRESULT : 0x80131040)]
Microsoft.Web.Helpers.PreApplicationStartCode.Start() +0

[InvalidOperationException : L'initialisation du démarrage de la préapplication Start sur le type Microsoft.Web.Helpers.PreApplicationStartCode a déclenché une exception avec le message d'erreur suivant : Could not load fichier ou l'assemblage 'System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' ou une de ses dépendances. dépendances. La définition du manifeste de l'assemblage localisé ne correspond pas à la référence de l'assemblage. (Exception de HRESULT : 0x80131040).
System.Web.Compilation.BuildManager.InvokePreStartInitMethods(ICollection`1 méthodes) +11711966
System.Web.Compilation.BuildManager.CallPreStartInitMethods() +465
System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exception appDomainCreationException) +1167

[HttpException (0x80004005) : L'initialisation du démarrage de la préapplication méthode Start sur le type Microsoft.Web.Helpers.PreApplicationStartCode a généré une exception avec le message d'erreur suivant : Impossible de charger fichier ou l'assemblage 'System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' ou une de ses dépendances. dépendances. La définition du manifeste de l'assemblage localisé ne correspond pas à la référence de l'assemblage. (Exception de HRESULT : 0x80131040).
System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +11700896 System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +141 System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +4869125

-------------------------------------------------------------------------------- Version Information: Microsoft .NET Framework Version:4.0.30319 ; Version ASP.NET : 4.0.30319.272

Dans mon fichier web.config, et dans mon application, je fais référence à System.Web.WebPages.Razor v1.0.0.0 :

  <dependentAssembly>
    <assemblyIdentity name="System.Web.WebPages.Razor" publicKeyToken="31bf3856ad364e35" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-1.0.0.0" newVersion="1.0.0.0" />
  </dependentAssembly>

Je ne sais même pas si je peux utiliser System.Web.WebPages.Razor v2.0.0.0 avec .Net 4.

Maintenant, comment puis-je trouver ce qui fait référence à System.Web.WebPages.Razor v2.0.0.0 ?

0 votes

Cela peut aussi causer le problème MSB3277 : Des conflits entre différentes versions d'un même assemblage dépendant ont été découverts et n'ont pas pu être résolus.

3voto

twasbrillig Points 6949

J'ai désinstallé ASP.NET MVC 4 à l'aide du Panneau de configuration de Windows, puis je l'ai réinstallé en exécutant les opérations suivantes AspNetMVC4Setup.exe (que j'ai obtenu de https://www.microsoft.com/en-us/download/details.aspx?id=30683 ), et cela a réglé le problème pour moi.

En d'autres termes, je n'ai pas eu besoin d'utiliser Nuget ou Visual Studio.

3voto

Zia Qammar Points 140

J'ai obtenu la même erreur lorsque j'ai mis à niveau MVC4 vers la version MVC5. J'ai d'abord mis à niveau l'assemblage appelant qui dépendait de la version MVC5.

> System.Web.WebPages.Razor, Version=2.0.0.0

après cela, j'ai mis à jour les fichiers web.config dans le dossier Views, mis à jour les paquets suivants de

<configSections>
    <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
      <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
      <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
    </sectionGroup>
</configSections>

à

<configSections>
    <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
      <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
      <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
    </sectionGroup>
 </configSections>

et également mis à jour

<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

à

<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.7.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

ces étapes fonctionnent pour moi

2voto

mpwhitt Points 465

J'obtenais la même erreur après avoir ajouté une référence inutile à System.Web.Mvc . J'ai supprimé toutes les références que j'ai pu trouver, mais rien ne semblait fonctionner. J'ai finalement supprimé le fichier bin et l'erreur a disparu après une reconstruction.

1voto

David Frodin Points 80

J'ai également reçu cette erreur et j'ai essayé tout ce que j'ai pu trouver en ligne, mais elle ne disparaissait pas. Finalement, j'ai simplement rétrogradé MVC de 5.2.3 à 4.0.40804. Je n'aime pas cette solution parce qu'un jour j'aurai besoin d'utiliser MVC 5, mais cela fonctionne pour l'instant. J'espère que cela aidera d'autres personnes.

0 votes

J'ai également effectué une mise à niveau de 4 à 5 et j'ai rencontré diverses erreurs. Ce site m'a beaucoup aidé.

1 votes

Après quelques jours, j'ai effacé l'ardoise et j'ai recommencé. J'avais 3 projets dans ma solution faisant référence à MVC et je les ai tous mis à niveau vers 5.2.3, ce qui a provoqué cette erreur. Ce que je n'avais pas réalisé, c'est que l'un de ces 3 projets était commun à de nombreuses autres solutions et nécessitait la version 4.0.40804. J'ai dû rétrograder le MVC de ce projet commun, mais les autres ont pu fonctionner en 5.2.3.

1voto

Mik Points 491

Court :
Si vous rencontrez ce problème avec un projet d'API Web pur (et n'avez donc pas besoin de razor), essayez de l'ajouter quand même, reconstruisez-le, puis supprimez-le.

Longue histoire :
J'ai eu ce problème avec un tout nouveau projet d'API Web pur, sauf que le stacktrace pointait "System.Web.Mvc" comme assembly appelante (voir la réponse de Darin). Aucune référence à MVC, Razor ou autre dans mon projet pourtant...
J'ai décidé d'ajouter les paquets MVC (AspNet.Mvc, AspNet.WebPages et AspNet.Razor) pour vérifier s'il y avait un problème ultérieur.
L'application WebApi s'est ensuite lancée sans problème. J'ai ensuite supprimé exactement les mêmes paquets et tout était toujours OK.

J'espère que cela aidera quelqu'un.

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