我在尝试运行我的应用程序时遇到MvcWebRazorHostFactory错误,但它根本不是一个MVC应用程序。我通过nuget安装了以下web包:
Microsoft ASP.NET Razor
Microsoft ASP.NET Web API 2.1
Microsoft ASP.NET Web Pages
我的应用是使用剃刀视图(.cshtml)的angularjs前端。我不明白为什么我一直收到这个错误。
An exception of type 'System.InvalidOperationException' occurred in System.Web.WebPages.Razor.dll but was not handled in user code
Additional information: Could not locate Razor Host Factory type: System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35
下面是我的web.config中的剃刀部分:
<system.web.webPages.razor>
<host factoryType="System.Web.WebPages.Razor.WebRazorHostFactory, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="System.Web.WebPages.WebPage">
<namespaces>
<add namespace="System.Web.Configuration" />
<add namespace="System.Web.Optimization" />
<add namespace="System.Web.Routing" />
</namespaces>
</pages>
发布于 2018-07-31 20:59:16
有几个答案指向了正确的方向,但我不确定在Microsoft Visual Studio for Mac界面中哪里可以找到适当的版本号来用于factoryType
属性的版本部分。
为了让其他VS For Mac用户受益,答案是在解决方案资源管理器的包列表中右键单击Microsoft.AspNet.Mvc
包。
在我的示例中,包版本在包更新后为"5.2.6“,因此我将factoryType
属性的版本部分设置为Version=5.2.6.0
。这就解决了问题。
发布于 2014-02-11 22:00:04
显然,我从nuget得到的一些包在视图文件夹中添加了一个web.config。在此web.config中有MvcWebRazorHostFactory的设置。我认为这是在我使用对话框向项目添加视图时发生的。
解决方案是从Views文件夹中删除web.config。
发布于 2018-05-06 02:18:07
已将MvcWebRazorHostFactory版本更改为与解决我的问题的System.Web.Mvc版本相同的版本。
https://stackoverflow.com/questions/21690397
复制相似问题