单MVC5 - 视图不工作

问题描述 投票:13回答:5

我想使用单声道和XSP4我的Linux机器启动MVC5网站。它的工作原理没有意见。然而,当我尝试呈现的东西它给我的错误。

这是我的测试代码。请注意,我没有任何改变,这基本上是没有EF或任何其他库一个空白网站。只是裸骨MVC5 +剃刀。

public ActionResult Index()
{
    // return Content("'sall good"); // works
    return View();
}

System.InvalidOperationException

无法找到剃刀用母厂类型:System.Web.Mvc.MvcWebRazorHostFactory,System.Web.Mvc,版本= 5.0.0.0,文化=中立,公钥= 31BF3856AD364E35

说明:HTTP 500.Error处理请求。

联系方式:非网上例外。例外原点(应用程序或对象的名称):System.Web.WebPages.Razor。

堆栈跟踪

at System.Web.WebPages.Razor.WebRazorHostFactory.CreateFactory (System.String typeName) [0x00000] in <filename unknown>:0

at System.Collections.Concurrent.ConcurrentDictionary`2+<GetOrAdd>c__AnonStorey3[System.String,System.Func`1[System.Web.WebPages.Razor.WebRazorHostFactory]].<>m__0 () [0x00000] in <filename unknown>:0 

at (wrapper delegate-invoke) System.Func`1<System.Collections.Generic.KeyValuePair`2<string, System.Func`1<System.Web.WebPages.Razor.WebRazorHostFactory>>>:invoke_TResult__this__ ()

...

我试着版本= 5.0.0.0改为4.0.0.0和3.0.0.0等,但没有任何工程。我仍然得到同样的错误刚才它是关于4.0.0.0。

究竟有没有前途?

c# asp.net-mvc mono xsp xsp4
5个回答
22
投票

这个问题在Web.config/Views文件夹内。 system.web.webPages.razor host参数必须与MVC版本完全匹配。

例如,如果您有MVC 5.2.2.0那么它应该像<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.2.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />


4
投票

你的项目必须MvcWebRazorHostFactory的版本匹配的MVC版本,它必须是相同的。我不得不改变版本5.2.3.0(在Views/Web.config文件)。

<system.web.webPages.razor>
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.3.0

如果你不知道你正在使用你的项目,该项目的MVC的版本,然后去项目 - >编辑引用 - >然后在右侧,在“选定的引用”向下滚动到System.Web.Mvc应该在哪里看到你是哪个版本使用。我这是怎么在Xamarin Studio的社区发现。


0
投票

这一个是我的工作。我在浏览文件夹根据我的mvc版本改变web.config中的mvc版本5.2.3.0。例如。 <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

我改变了我的版本从5.2.0.0至5.2.3.0。


0
投票

我收到了同样的错误,我更新了我的包就跑的代码之后。

错误信息:System.InvalidOperationException无法找到剃刀用母厂类型:System.Web.Mvc.MvcWebRazorHostFactory,System.Web.Mvc,版本= 5.2.3.0,文化=中立,公钥= 31BF3856AD364E35

根据“意见”的文件夹更改System.Web.Mvc在Web.config文件的更新版本

system.web.webPages.razor

主办factoryType = “System.Web.Mvc.MvcWebRazorHostFactory,System.Web.Mvc,版本= 5.2.7.0,文化=中性公钥= 31BF3856AD364E35”

我改变了我的版本System.Web.Mvc从5.2.3.0至5.2.7.0和代码执行。


-1
投票

这就像斯坦说。请检查您的System.Web.MVC做你的参考文件夹“右击>属性”(在您的项目)的版本。然后,更新您的/views/web.config该行。

© www.soinside.com 2019 - 2024. All rights reserved.