Could not load file or assembly System.Web.WebPages.Deployment

12

Im working developing a system web page and suddenly appears this error:

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.

I already verify my xml files configuration, and everything look good. This is the stack trace:

[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
c#
.net
.net-assembly
asked on Stack Overflow Jun 4, 2014 by user2024262 • edited Jun 4, 2014 by guisantogui

7 Answers

7

Please try the following steps.

  1. Check the Version of System.Web.Webpages in your References. Say Your Version is=X.X.X.X

2.In Webconfig

a.Add the assembly first

<assemblies>        
    <add assembly="System.Web.WebPages, Version=X.X.X.X, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
  </assemblies>

b.Bind the assembly for runtime

<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.Make sure you have added correct key

<appSettings>
    <add key="webpages:Version" value="X.X.X.X"/>
</appSettings>

This worked for me. Hope It'll help you too.

answered on Stack Overflow Nov 8, 2014 by Liakat • edited Nov 11, 2014 by Liakat
5

I resolved this problem adding line below in web.config of project...

Before I marked in MANAGE NUGET "Microsoft.AspNet.Mvc/5.1.2", "Microsoft ASP.NET Web Pages/3.1.2", I try anything but nothing works (really!! uninstall VS and read a lot 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>

Good lucky

answered on Stack Overflow Jun 14, 2014 by user3740445 • edited Feb 18, 2017 by Sender
2

I wrote a long post about this on my personal blog to document the problem for my future use, but I will just put the solution here for anyone else to use:

You need to install WebMatrix

Long story short the required DLLs are missing from the GAC MSIL and they need to be installed. You can install both versions of WebMatrix 1.0.0.0 and 2.0.0.0 as they can coexist just fine; or just install the one you need:

+--------------------------+---------------------------------------------------------------------+-------------+
|      Installer name      |                                 URL                                 | DLL Version |
+--------------------------+---------------------------------------------------------------------+-------------+
| AspNetWebPages.msi       | https://www.microsoft.com/en-us/download/confirmation.aspx?id=15979 |     1.0.0.0 |
| AspNetWebPages2Setup.exe | https://www.microsoft.com/en-us/download/details.aspx?id=34600      |     2.0.0.0 |
+--------------------------+---------------------------------------------------------------------+-------------+

Clickable links

answered on Stack Overflow Sep 16, 2019 by dyslexicanaboko
1

In my case this was due to corrupted assembly being referenced which happened due to crash restart of my laptop.

To fix this please following these steps

  1. Clean all the files in the following folders of your project or you can simply click on clean project and clean solution

    • \bin
    • \obj
  2. Clean the Appdata temp folder for my Win 7 machine its located here C:\Users\your_username\AppData\Local\Temp\Temporary ASP.NET Files in windows 7

Hope this helps!

answered on Stack Overflow Jun 19, 2015 by Srikant
0

What I usually do is go to the machine where you compile you code and go to dos prompt and type this

C:> dir System.Web.WebPages.Depl* /s 

There might be several of them usually in

c:/windows/Microsoft.Net/assembly/GAG_MSIL/System.web.WebPage/v....../

check the date and make sure is the same as System.Web.WebPages.dll copy it to the bin where your target machine is. This should fix the problem.

answered on Stack Overflow Apr 21, 2016 by chan • edited Apr 21, 2016 by David
0

copy this code in the "configuration" of Web.config,that will do it

  <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>
answered on Stack Overflow Mar 26, 2018 by Vagus
0

Try copy paste or package install of System.Web.WebPages.dll in your web bin directory.

You can grab it from NuGet Gallery,

https://www.nuget.org/packages/Microsoft.AspNet.WebPages/

See to that the version matches.

answered on Stack Overflow Mar 6, 2020 by Bharathkumar V • edited Mar 6, 2020 by Bharathkumar V

User contributions licensed under CC BY-SA 3.0