在ASP.NET MVC 5中使用Razor Url助手时找不到方法“RouteCollection.get_AppendTrailingSlash 5 Mono

我正在Mono (Ubuntu 14.4,Monodevelop 5.9,Mono JIT编译器版本4.0.1)中创build一个ASP.NET MVC 5应用程序。

我看到一些剃刀组件不被识别,例如:

@Url.Action 

当我添加这个

我得到这个错误:

system.missingMethodException而

未find方法“RouteCollection.get_AppendTrailingSlash”。

System.Web.Mvc是从包中引用的。 还有什么是必需的吗?

更新:到目前为止我尝试了这些解决scheme

  • Razor View Engine是否适用于Mono?

  • 在单声道下可以使用Razor 2.0视图引擎吗?

  • http://www.davidloo.com/?p=479

  • http://iws.io/walkthrough-porting-asp-net-mvc-website-to-mono-2-6-1-and-mysql-on-linux-apache-porting-to-mono-part-3-的-3 /

这似乎是一个已知的问题,但我坚信应该有一些破解这个工作。 我也尝试使用aspx引擎也没有收获。

最新消息afaik是Miguel 去年拒绝了我的最小拉取请求,但是你可以在Pull请求的底部看到其他几个人已经在github上构建了包含这个和更多的东西。

我看不到有人接受单声道主线的请求。 我能看到的前进方向是,如果你知道/可以说服Xamarin团队的人来推动这一点。

或者,帮助获得在单声道上运行的现在开源的.Net代码。

https://github.com/gentoo/dotnet看起来很有趣:它已经把这个和其他一些MVC5的变化。

到目前为止,解决这个问题的唯一方法是从GitHub的源代码构建和安装Mono。

您可以参考Xamarin Bugzilla问题: https ://bugzilla.xamarin.com/show_bug.cgi?id = 16475#c13

但是,那么,你最终可能会遇到别的东西……对于单声道家伙来说这似乎并不是一个高度优先的事情。 相反,Xamarin /手机故事似乎最受关注。

现在问题似乎已经解决了 。

同时,我使用了这个简单的黑客技术:我们可以使用如下的基本HTML语法来代替使用ASP.NET MVC助手:

对于类似锚的组件:

 <a href="~/ControllerName/ActionName"> Test </a>