Je travaille en développant une page Web système et apparaît soudainement cette erreur:
Could not load file or Assembly 'System.Web.WebPages.Deployment, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
Je vérifie déjà la configuration de mes fichiers xml et tout est beau. Voici la trace de la pile:
[FileNotFoundException: Could not load file or Assembly 'System.Web.WebPages.Deployment, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.]
System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) +0
System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) +210
System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean forIntrospection) +242
System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) +17
System.Reflection.Assembly.Load(String assemblyString) +35
System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +122
[ConfigurationErrorsException: Could not load file or Assembly 'System.Web.WebPages.Deployment, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.]
System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +12480704
System.Web.Configuration.AssemblyInfo.get_AssemblyInternal() +202
System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig) +331
System.Web.Compilation.BuildManager.CallPreStartInitMethods(String preStartInitListPath, Boolean& isRefAssemblyLoaded) +148
System.Web.Compilation.BuildManager.ExecutePreAppStart() +172
System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exception appDomainCreationException) +1151
[HttpException (0x80004005): Could not load file or Assembly 'System.Web.WebPages.Deployment, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.]
System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +12601936
System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +159
System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +12441597
S'il vous plaît essayez les étapes suivantes.
2. Dans Webconfig
a.Ajouter d'abord l'Assemblée
<assemblies>
<add Assembly="System.Web.WebPages, Version=X.X.X.X, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</assemblies>
b.Lier l'assembly pour l'exécution
<runtime>
<assemblyBinding xmlns="urn:schemas-Microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31BF3856AD364E35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-X.X.X.X" newVersion="X.X.X.X"/>
</dependentAssembly>
</assemblyBinding>
3.Assurez-vous d'avoir ajouté la clé correcte
<appSettings>
<add key="webpages:Version" value="X.X.X.X"/>
</appSettings>
Cela a fonctionné pour moi. J'espère que ça vous aidera aussi.
J'ai résolu ce problème en ajoutant la ligne ci-dessous dans web.config
du projet ...
Avant de marquer MANAGE dans NUGET "Microsoft.AspNet.Mvc/5.1.2", "Pages Web Microsoft ASP.NET/3.1.2", j'essaie n'importe quoi mais rien ne fonctionne (vraiment !! désinstaller VS et lire beaucoup d'articles)
<dependentAssembly>
<assemblyIdentity name="System.Web.WebPages.Deployment" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
Bonne chance
Dans mon cas, cela était dû à une assemblée corrompue référencée qui était due au redémarrage en panne de mon ordinateur portable.
Pour résoudre ce problème, veuillez suivre ces étapes
Nettoyez tous les fichiers dans les dossiers suivants de votre projet ou vous pouvez simplement cliquer sur nettoyer le projet et la solution propre
Nettoyez le dossier temporaire Appdata De mon ordinateur Win 7 et l’utilisez ici C:\Utilisateurs\votre_nom_utilisateur\AppData\Local\Temp\Temporary Fichiers ASP.NET dans Windows 7
J'espère que cela t'aides!
copie ce code dans la "configuration" de Web.config ça le fera
<runtime>
<assemblyBinding xmlns="urn:schemas-Microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.WebPages.Deployment" publicKeyToken="31BF3856AD364E35" culture="neutral"/>
<bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0"/>
</dependentAssembly>
</assemblyBinding></runtime>
Ce que je fais habituellement, c’est d’aller sur la machine où vous compilez votre code et d’aller dans Dos prompt et de taper ceci
C:> dir System.Web.WebPages.Depl* /s
Il peut y en avoir plusieurs habituellement
c:/windows/Microsoft.Net/Assembly/GAG_MSIL/System.web.WebPage/v....../
vérifiez la date et assurez-vous qu'elle est identique à System.Web.WebPages.dll
et copiez-la dans le chutier où se trouve votre ordinateur cible. Cela devrait résoudre le problème.