web-dev-qa-db-fra.com

Erreur d'exécution: impossible de charger le fichier ou l'assembly 'System.Web.WebPages.Razor, Version = 3.0.0.0

J'ai bricolé avec mes paquets ASP.NET MVC4 via NuGet, et maintenant System.Web.WebPages.Razor v3 ne se charge pas. Parfois, d'autres paquets ne se chargent pas non plus.

Mon collègue utilise la solution sans problème. Le problème est donc clairement la configuration de mon système de développement (par opposition à tout ce qui a été archivé).

J'ai déjà essayé les recommandations sur divers liens de forums SOF et autres, notamment:

Ainsi que des suggestions liées à partir de là. J'ai également vérifié le Panneau de configuration et trouvé aucun programme installé qui a référencé MVC. (Si cela compte, j'utilise MS Win 7 SP 1.)

Je suis ouvert à toutes les suggestions.

Voici mes informations sur le core dump:

Erreur serveur dans l'application '/'.

Impossible de charger le fichier ou l'assembly 'System.Web.WebPages.Razor, version = 3.0.0.0, Culture = neutre, PublicKeyToken = 31bf3856ad364e35' ou une de ses dépendances. Le système ne peut pas trouver le fichier spécifié.

Description: une exception non gérée s'est produite lors de l'exécution de la demande Web en cours. Veuillez vérifier la trace de la pile pour plus d'informations informations sur l'erreur et son origine dans le code. 

Détails des exceptions: System.IO.FileNotFoundException: Impossible de charger le fichier ou l'assembly 'System.Web.WebPages.Razor, Version = 3.0.0.0, Culture = neutre, PublicKeyToken = 31bf3856ad364e35 'ou l'un de ses dépendances. Le système ne peut pas trouver le fichier spécifié.

Source Error: 

An unhandled exception was generated during the execution of the current web request. Information regarding the Origin and location of

l'exception peut être identifiée à l'aide de la trace de pile d'exceptions ci-dessous.

Assembly Load Trace: The following information can be helpful to determine why the Assembly 'System.Web.WebPages.Razor,

Version = 3.0.0.0, Culture = neutre, PublicKeyToken = 31bf3856ad364e35 ' n'a pas pu être chargé.

=== Informations d'état préalables à la liaison === LOG: Utilisateur = CodesWithHammer LOG: DisplayName = System.Web.WebPages.Razor, version = 3.0.0.0, Culture = neutre, PublicKeyToken = 31bf3856ad364e35 (Complètement spécifié) LOG: Appbase = file: /// c:/users/CodesWithHammer/documents/visual studio 2012/Projets/MPP/MPP / LOG: Initial PrivatePath = c:\utilisateurs\CodesWithHammer\documents\visual studio 2012\Projects\MPP\MPP\bin Assemblée d'appel: Microsoft.Web.WebPages.OAuth, version = 3.0.0.0, Culture = neutre, PublicKeyToken = 31bf3856ad364e35.

=== LOG: Cette liaison commence dans le contexte de chargement par défaut . LOG: Utilisation du fichier de configuration de l'application: c:\users\CodesWithHammer\documents\visual studio 2012\Projects\MPP\MPP\web.config LOG: Utilisation du fichier de configuration de l'hôte: C:\Users\CodesWithHammer\Documents\IISExpress\config\aspnet.config LOG: Utilisation du fichier de configuration de la machine à partir de C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config . LOG: Référence post-stratégie: System.Web.WebPages.Razor, version = 3.0.0.0, Culture = neutre, PublicKeyToken = 31bf3856ad364e35 LOG: tentative de téléchargement du nouveau fichier URL: /// C:/Users/CodesWithHammer/AppData/Local/Temp/Temporary ASP.NET Fichiers/racine/5bf3ca07/f960d9c5/System.Web.WebPages.Razor.DLL . LOG: tentative de téléchargement du nouveau fichier URL: /// C:/Users/CodesWithHammer/AppData/Local/Temp/Temporary ASP.NET Fichiers/racine/5bf3ca07/f960d9c5/System.Web.WebPages.Razor/System.Web.WebPages.Razor.DLL . LOG: tentative de téléchargement du nouveau fichier URL: /// c:/utilisateurs/CodesWithHammer/documents/visual studio 2012/Projets/MPP/MPP/bin/System.Web.WebPages.Razor.DLL . LOG: tentative de téléchargement du nouveau fichier URL: /// c:/utilisateurs/CodesWithHammer/documents/visual studio 2012/Projets/MPP/MPP/bin/System.Web.WebPages.Razor/System.Web.WebPages.Razor.DLL . LOG: tentative de téléchargement du nouveau fichier URL: /// C:/Users/CodesWithHammer/AppData/Local/Temp/Temporary ASP.NET Fichiers/racine/5bf3ca07/f960d9c5/System.Web.WebPages.Razor.EXE . LOG: tentative de téléchargement du nouveau fichier URL: /// C:/Users/CodesWithHammer/AppData/Local/Temp/Temporary ASP.NET Fichiers/racine/5bf3ca07/f960d9c5/System.Web.WebPages.Razor/System.Web.WebPages.Razor.EXE . LOG: tentative de téléchargement du nouveau fichier URL: /// c:/utilisateurs/CodesWithHammer/documents/visual studio 2012/Projets/MPP/MPP/bin/System.Web.WebPages.Razor.EXE . LOG: tentative de téléchargement du nouveau fichier URL: /// c:/utilisateurs/CodesWithHammer/documents/visual studio 2012/Projets/MPP/MPP/bin/System.Web.WebPages.Razor/System.Web.WebPages.Razor.EXE.Trace de la pile:.

[FileNotFoundException: Could not load file or Assembly 'System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral,  

PublicKeyToken = 31bf3856ad364e35 'ou l'une de ses dépendances. Le
 le système ne trouve pas le fichier spécifié.] 
 Microsoft.Web.WebPages.OAuth.PreApplicationStartCode.Start () +0

[InvalidOperationException: The pre-application start initialization method Start on type

Microsoft.Web.WebPages.OAuth.PreApplicationStartCode a lancé un 
 exception avec le message d'erreur suivant: Impossible de charger le fichier ou 
 Assembly 'System.Web.WebPages.Razor, Version = 3.0.0.0, Culture = neutre, 
 PublicKeyToken = 31bf3856ad364e35 'ou l'une de ses dépendances. Le
 le système ne trouve pas le fichier spécifié ..] 
 System.Web.Compilation.BuildManager.InvokePreStartInitMethodsCore (ICollection1
  methods, Func1 setHostingEnvironmentCultures) +550 
 System.Web.Compilation.BuildManager.InvokePreStartInitMethods (méthodes ICollection`1 
) +132 
 System.Web.Compilation.BuildManager.CallPreStartInitMethods (String 
 PreStartInitListPath) +90 
 System.Web.Compilation.BuildManager.ExecutePreAppStart () +135 
 System.Web.Hosting.HostingEnvironment.Initialize (ApplicationManager 
 AppManager, IApplicationHost appHost, IConfigMapPathFactory 
 ConfigMapPathFactory, HostingEnvironmentParameters hostingParameters, 
 Policy.

[HttpException (0x80004005): The pre-application start initialization method Start on type

Microsoft.Web.WebPages.OAuth.PreApplicationStartCode a lancé un 
 exception avec le message d'erreur suivant: Impossible de charger le fichier ou 
 Assembly 'System.Web.WebPages.Razor, Version = 3.0.0.0, Culture = neutre, 
 PublicKeyToken = 31bf3856ad364e35 'ou l'une de ses dépendances. Le
 le système ne trouve pas le fichier spécifié ..] 
 System.Web.HttpRuntime.FirstRequestInit (contexte HttpContext) +9874840 
 System.Web.HttpRuntime.EnsureFirstRequestInit (contexte HttpContext) +101 
 System.Web.HttpRuntime.ProcessRequestNotificationPrivate (IIS7WorkerRequest 
 Wr, contexte HttpContext) +254

Informations de version: Microsoft .NET Framework Version: 4.0.30319; Version ASP.NET: 4.0.30319.18055

(Pour ceux qui lisent jusque-là: je n'ai pas assez de réputation pour faire la balise tirant mes cheveux. S'il y a une balise existante appropriée, veuillez l'inclure. KTHX.)

ETA: Lorsque j'ai essayé de mettre à jour manuellement Microsoft.AspNet.Mvc vers la version 3, voici l'erreur que j'ai eu sur la console du gestionnaire de packages:

ETA2: J'ai reçu le répertoire packages de mon collègue. Ils ont MS.AspNet.Mvc v5, et ils fonctionnent très bien. Mais ils ont AUSSI MS.AspNet.Mvc.FixedDisplayModes v5. Donc, je vais ajouter les deux. Et oui, j'ai sauvegardé toute ma solution. :)

ETA3: J'ai donc effectué une nouvelle mise à niveau vers AspNet MVC v5 et ignoré les obsolètes Mvc.FixedDisplayNodes. Ensuite, j'ai eu un problème avec des versions en conflit de AspNet.WebPages, j'ai donc utilisé ce correctif: Des versions en conflit de pages Web ASP.NET détectées: la version spécifiée est "1.0.0.0", mais la version dans le bac est "2.0.0.0 "dans ASP.MET MVC 3

Et maintenant mon projet s'exécute!

Merci à tous pour l'aide!

Thanks all for the help!

23
Codes with Hammer

Vous pouvez le trouver dans le paquetage Nuget Pages Web Microsoft ASP.NET version 3.2.0

Microsoft ASP.NET Web Pages

Si vous avez une référence à une version antérieure à la 3.0.0.0, supprimez la référence, ajoutez la référence au bon fichier .dll dans votre dossier de packages et assurez-vous que "Copie locale" est défini sur "True" dans les propriétés de la .dll .

Puis dans votre web.config (comme mentionné par @MichaelEvanchik)

  <runtime>
<assemblyBinding xmlns="urn:schemas-Microsoft-com:asm.v1">
  <dependentAssembly>
    <assemblyIdentity name="System.Web.WebPages.Razor" PublicKeyToken="31bf3856ad364e35"/>
    <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0"/>
  </dependentAssembly>
</assemblyBinding>

30
Craig Howard

"Update-Package –reinstall Microsoft.AspNet.WebPages"

Réinstallez les packages de nuget Microsoft.AspNet.WebPages à l'aide de cette commande dans la console du gestionnaire de packages. 100% de travail !!

18
user4136790

même chose que JUST m’est arrivé avec NUGET.

la balise suivante a aidé

<runtime>
<assemblyBinding xmlns="urn:schemas-Microsoft-com:asm.v1">
  <dependentAssembly>
    <assemblyIdentity name="System.Web.WebPages.Razor" PublicKeyToken="31bf3856ad364e35"/>
    <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0"/>
  </dependentAssembly>

De plus, si cela se produit sur le serveur, je devais m'assurer que le pool d'applications fonctionnait sur un compte "privilégié" du système de fichiers, mais je ne pense pas que ce soit votre problème

3
MichaelEvanchik

dans le nouveau actionmailer, "razorengine" est une dépendance. La dernière version de Razorengine installe la dépendance à System.Web.Razor 3.0.0.

Si vous utilisez une version antérieure de votre application (j'imagine que vous utilisez actionmailer dans un autre projet et que vous référencez la fonctionnalité de messagerie d'un autre projet), vous obtenez ce problème, bien sûr.

Dans une application antérieure, j'avais une application Web MVC qui utilisait system.web.Razor version 2.0.0 . Bien sûr, j'ai eu le problème. Comment réparer? => Simple!

  1. Désinstallez simplement l'actionmailer dans votre projet actionmailer.
  2. Installer une version précédente de RazorEngin </ p>

    Package d'installation RazorEngine - Version 3.3.0 (car la version 3.3.0 fera référence à system.web.razor 2.0.0)</ li>

  3. Installez actionmailer à nouveau (la version la plus récente de RazorEngin ne sera pas installée, car vous l'avez déjà fait)
  4. </ ol> Succès!

2
wim boone

Je ne voulais pas installer Visual Studio et l'environnement de développement. J'ai donc installé AspNetMVC4Setup.exe sur l'ordinateur Windows Server 2016 et le problème a été résolu. Le programme d'installation a été téléchargé à partir du site Web de Microsoft.

 File properties of the installer

1
Shantu

Existe-t-il un fichier System.Web.WebPages.Razor.dll dans le dossier bin de votre application Web? Quelle est sa version? (Clic droit de l'explorateur, propriétés) J'imagine que ce n'est pas 3.0.0.0. Procurez-vous simplement les packages de nuget pour la version 3.0.0.0, peut-être en copiant le dossier packages de votre collègue. Ou installez-le manuellement: http://www.nuget.org/packages/Microsoft.AspNet.Mvc/3.0.20105.1

EDIT: si vous copiez des éléments de votre collègue, copiez également les numéros de version correspondants dans packages.config. C'est ce qui indique au nuget les versions à mettre dans le dossier packages.

1
fejesjoco

Dans mon cas, le problème ne concernait pas les redirections de liaison ni les packages/dlls Microsoft.AspNet.Razor manquants/incompatibles; les solutions ci-dessus ne fonctionnaient donc pas.

Le problème, dans mon projet non-Web, était que RazorEngine + Microsoft.AspNet.Razor étaient installés dans un projet différent (Projet A) du projet Assembly/démarrage (projet B). Comme il n'y a pas de référence explicite à Razor, le fichier System.Web.Razor N'A PAS été copié dans/bin dans une version Release. 

La solution consistait à Installer RazorEngine + Microsoft.AspNet.Razor dans le point d'entrée de l'application (Projet B, ConsoleApplication dans mon cas), puis System.Web.Razor est copié dans/bin et tout le monde est content.

0
Null Reference

J'ai eu ce problème parce que j'ai désinstallé VS 2012, je ne veux pas le réinstaller, alors j'ai téléchargé AspNetMVC4Setup.exe de Microsoft.com et résolu mon problème. 

https://www.Microsoft.com/en-us/download/details.aspx?id=30683

0
Guo Huang

J'ai la même erreur, ce qui a fonctionné pour moi est:

  1. Correction d'une erreur de référence.
  2. Fermez Visual Studio.
  3. Supprimer des packages.
  4. Supprimer le dossier .vs.
  5. Exécutez à nouveau le projet.
  6. Reconstruire le projet.
0
Abhishek sharma

Dans mon cas, le problème n'a pas été résolu en appliquant l'une des méthodes ci-dessus. J'avais tous les chemins dans ma configuration de paquet corrects et les dll étaient en place comme indiqué, je continuais à avoir une erreur d'exécution pour System.Web.WebPages.RazorI changed the localhost port number and this worked

Je ne sais pas pourquoi j'ai eu le problème et pourquoi changer le numéro de port l'a résolu. Il suffit de poster ceci car je pense que cela pourrait être utile pour quelqu'un. 

0
Rajshekar Reddy