小编wme*_*lon的帖子

尝试引用较新版本的System.Web.WebPages.Razor的MVC4应用程序的问题

过去几个月我一直在研究mvc4网络应用程序.直到星期五,当我在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>
Run Code Online (Sandbox Code Playgroud)

并确保我的views目录中的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>
Run Code Online (Sandbox Code Playgroud)

我还确保我的引用中引用的版本是2.0.0.0.我试过删除它并读取它.我已经尝试确保服务器安装了最新版本的.net框架.

我已经在服务器和本地测试了这个,并得到相同的错误消息.

在本地我在错误日志中看到这个LOG: Post-policy reference: System.Web.WebPages.Razor, …

c# asp.net asp.net-mvc razor asp.net-mvc-4

8
推荐指数
1
解决办法
2万
查看次数

标签 统计

asp.net ×1

asp.net-mvc ×1

asp.net-mvc-4 ×1

c# ×1

razor ×1