Rya*_*ton 30 asp.net asp.net-mvc razor asp.net-webpages
尝试运行我的应用程序时出现MvcWebRazorHostFactory错误,但它根本不是MVC应用程序.我通过nuget安装了以下Web包:
Microsoft ASP.NET Razor
Microsoft ASP.NET Web API 2.1
Microsoft ASP.NET Web Pages
Run Code Online (Sandbox Code Playgroud)
我的应用程序是angularjs前端使用剃刀视图(.cshtml).我不明白为什么我一直收到这个错误.
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
Run Code Online (Sandbox Code Playgroud)
这是我的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>
Run Code Online (Sandbox Code Playgroud)
Dan*_*mak 38
我通过将System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc版本设置为5.2.0.0最终解决了这个问题,并且它工作了!为什么5.2.0.0?与NuGet Microsoft ASP.NET项目版本相同.
所以,该行/Views/Web.Config应该是:
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
Run Code Online (Sandbox Code Playgroud)
几个答案都指向正确的方向,但是我不确定在Microsoft Visual Studio for Mac界面的哪个位置可以找到用于该factoryType属性的版本部分的适当版本号。
为了使其他VS for Mac用户受益,答案是只需Microsoft.AspNet.Mvc在解决方案资源管理器的“软件包”列表中右键单击该软件包。
就我而言,软件包更新后的软件包版本为“ 5.2.6”,因此我将factoryType属性的版本部分设置为Version=5.2.6.0。这样就解决了问题。
| 归档时间: |
|
| 查看次数: |
18473 次 |
| 最近记录: |