我之前遇到过这个问题,但我需要做的就是清理和重建项目。现在这似乎不再起作用了。当我启动我的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>
我似乎无法弄清楚如何解决这个问题。有什么想法吗?
答案 0 :(得分: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,因为那是一个缺失的版本。
答案 1 :(得分:18)
我的解决方案是转到我的服务器并在服务器上安装网页版本2.
转到http://www.microsoft.com/en-us/download/details.aspx?id=34600
下载该软件包并运行它。
就这么简单。
答案 2 :(得分:8)
为我工作:
工具 - &gt; NuGet包管理器 - &gt;管理解决方案的NuGet包
浏览
搜索&#34; Microsoft.AspNet.WebPages&#34;
确保解决方案中的所有项目都具有最新版本。
答案 3 :(得分:6)
<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>
如您所见,这是指程序集的第2版,它与您在web.config的system.web / compilation / assemblies部分中也有的以下代码不匹配。
<add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
项目的References中引用的实际程序集确实是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>
答案 4 :(得分:4)
转到菜单:“工具/ Nuget包管理器/包管理器控制台”
运行命令install-package Microsoft.AspNet.WebPages
答案 5 :(得分:1)
我有这个问题,我所要做的就是更改外部参考的属性:特定版本从 True 改为 False
之后,项目再次构建。
答案 6 :(得分:0)
我为MVC5提出了同样的问题。
首先从项目的参考中检查 System.Web.WebPages 程序集。
对我来说,我添加了2.0.0.0版的引用。但我的web.config文件从
引用它 <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
我将其更改为
<bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
它适用于MVC5。
请检查附件中突出显示的部分以获得更多许可。