“System.Web.Mvc.MvcWebRazorHostFactory”types的expression式不能用于返回types“System.Web.WebPages.Razor.WebRazorHostFactory”
当我尝试运行一个我接pipe的项目时,出现这个错误。
我假设我的web.config中有一个问题,但我不知道要寻找什么。
“System.Web.Mvc.MvcWebRazorHostFactory”types的expression式不能用于返回types“System.Web.WebPages.Razor.WebRazorHostFactory”
任何build议在同一个高度赞赏。
尝试replaceWeb.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)
在所有视图/ web.config中将MvcWebRazorHostFactory设置为版本5.0.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" />
对于其他人仍然痛苦,我的解决scheme就像上面的解决scheme,但有一个调整 – 我需要在工程引用中匹配工厂types的版本与System.Web.Mvc dll的版本。 要找出你有哪个版本:
- 在你的项目中展开“引用”
-
右键单击System.Web.Mvc并查看版本
-
更新您的视图文件夹中的 web.config
所以在我的情况是这样的:
<system.web.webPages.razor> <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
我得到了同样的错误。 什么对我有用:右键单击您的项目,然后selectpipe理NuGet包。 安装Microsoft ASP.NET Razor。 重build项目。