当我尝试运行我接手的项目时,我收到此错误。
我认为我的 web.config 中存在问题,但我不知道该寻找什么。
'System.Web.Mvc.MvcWebRazorHostFactory'类型的表达式不能 用于返回类型'System.Web.WebPages.Razor.WebRazorHostFactory'
对此有任何建议都非常感谢。
答案 0 :(得分:50)
尝试在Web.Config中替换行
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
到
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
(将MvcWebRazorHostFactory设置为版本4.0.0.0)
答案 1 :(得分:36)
在所有Views / web.config中将MvcWebRazorHostFactory设置为 5 .0.0.0版本 下
<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
答案 2 :(得分:8)
对于其他仍然受苦的人,我的解决方案就像上面那个,但是有一个调整 - 我需要在你的项目参考中匹配工厂类型版本和System.Web.Mvc dll的版本。要找出您的版本:
答案 3 :(得分:0)
我得到了同样的错误。什么对我有用: 右键单击您的项目,然后选择Manage NuGet Packages。安装Microsoft ASP.NET Razor。重建项目。