我对Razor 2.0的条件属性功能很感兴趣,所以我尝试将Razor 2.0移植到我的MVC3应用程序中.我按照这个链接成功运行我的简单应用程序(带一个HomeController,一个Index动作和一个*〜/ Views/Home/Index.cshtml视图)在Windows上使用ASP.NET.
但是当我在Ubuntu上的单声道运行时部署我的应用程序时,它无法运行并继续报告无法找到视图的错误:
"/"应用程序中的服务器错误未找到视图"索引"或其主服务器或视图引擎不支持搜索的位置.以下地点搜索:〜/查看/首页/ Index.aspx的〜/浏览/首页/ Index.ascx〜/查看/共享/ Index.aspx的〜/查看/共享/ Index.ascx〜/浏览/首页/索引. cshtml~/Views/Home/Index.vbhtml~/Views/Shared/Index.cshtml~/Views/Shared/Index.vbhtml
我用谷歌搜索了这个错误,大多数文章说它是视图编译的问题,所以我认为它是由单声道无法正确使用新的Razor引擎的编译器来编译Index.cshtml引起的.
然后我将我的应用程序切换回Razor 1.0,并且所有单词在单声道下工作正常,所以它真的是单声道无法运行Razor 2.0的问题吗?或者有这个问题的快速解决方案吗?
谢谢
我在Mono中创建了一个ASP.NET MVC 5应用程序(Ubuntu 14.4,Monodevelop 5.9,Mono JIT编译器版本4.0.1).
我看到一些剃刀组件无法识别,例如:
@Url.Action
Run Code Online (Sandbox Code Playgroud)
当我添加这个
<a title="Notifications" href="@Url.Action("_Listing","Home")"> Home </a>Run Code Online (Sandbox Code Playgroud)
我收到此错误:
system.missingMethodException而
找不到方法'RouteCollection.get_AppendTrailingSlash'.
System.Web.Mvc从包中引用.还有什么是必需的吗?
更新:到目前为止我尝试过这些解决方案
这似乎是一个众所周知的问题但我坚信应该有一些工作的黑客.我尝试过使用aspx引擎,但没有收获.