我以前遇到过这个问题,但我需要做的就是清理和重建项目.现在这似乎不再起作用了.当我启动我的Asp.Net MVC3项目调试器时,该站点在我的浏览器中打开.我得到了这个错误,而不是在浏览器中显示第一页
Parser Error Message: Could not load file or assembly 'System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
Source Error:
Line 31: <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
Line 32: <add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
Line 33: <add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
Line 34: </assemblies>
Line 35: </compilation>
Run Code Online (Sandbox Code Playgroud)
我似乎无法弄清楚如何解决这个问题.任何的想法?
小智 20
我的解决方案是转到我的服务器并在服务器上安装网页版本2.
请访问http://www.microsoft.com/en-us/download/details.aspx?id=34600
并下载该包并运行它.
就这么简单.
zua*_*auz 18
我有这个问题.也许是因为我在MVC v3的顶部安装了.NET MVC v4,不确定.
无论如何,我System.Web.WebPages从我的项目中删除了引用.然后在"添加引用"对话框的.NET选项卡中,列出了两个System.Web.WebPages引用,版本1.0.0.0和2.0.0.0.我确保添加版本1.0.0.0,因为那是缺少的版本.

当我拥有它时,我在这个问题上划了一会儿.最后我注意到我在web.config的"runtime"部分中有以下部分.
<runtime>
. . .
<dependentAssembly>
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>
. . .
</runtime>
Run Code Online (Sandbox Code Playgroud)
如您所见,这是指程序集的第2版,它与您在web.config的system.web/compilation/assemblies部分中也具有的以下代码不匹配.
<add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
Run Code Online (Sandbox Code Playgroud)
项目参考中引用的实际程序集确实是v1.0.0.0,因此我将上面的第一个代码块更改为以下代码,它立即修复了问题.我不确定这个错误到底是怎么回事.
<runtime>
. . .
<dependentAssembly>
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.0.0.0" newVersion="1.0.0.0" />
</dependentAssembly>
. . .
</runtime>
Run Code Online (Sandbox Code Playgroud)