在过去的几个月里,我一直在开发一个 mvc4 Web 应用程序。直到星期五我在 nuget 中运行更新包以确保我拥有最新版本的库时,一切都运行良好。
现在,当我尝试查看应用程序中的任何内容时,它告诉我它得到了错误
Could not load file or assembly 'System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
我已经检查了我的 web.config 和 packages.config,但我没有参考System.Web.WebPages.Razor, Version=3.0.0.0
我在 web.config 中添加了一个dependentAssembly 块,版本为 2.0.0.0
<dependentAssembly>
<assemblyIdentity name="System.Web.WebPages.Razor" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>
并确保我的视图目录中的 web.config 也指定了 v2.0.0.0
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
</sectionGroup>
我还确保我的参考资料中引用的版本是 2.0.0.0。我试过删除它并阅读它。我已经尝试确保服务器安装了最新版本的 .net 框架。
我已经在服务器和本地对此进行了测试,并得到了相同的错误消息。
在本地,我在错误日志中看到了这一点,LOG: Post-policy reference: System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
但我找不到任何有关导致该问题的信息。
我正在 Visual Studio 2012 高级版中开发它。
有人有想法么?