Method 'RouteCollection.get_AppendTrailingSlash' not found when using Razor Url helpers in ASP.NET MVC 5 Mono
I am creating an ASP.NET MVC 5 application in Mono (Ubuntu 14.4, Monodevelop 5.9, Mono JIT compiler version 4.0.1).
I see that some of the razor components are not recognized, eg:
@Url.Action
When I add this
<a title="Notifications" href="@Url.Action("_Listing","Home")"> Home </a>
I get this error:
System.MissingMethodException
Method 'RouteCollection.get_AppendTrailingSlash' not found.
System.Web.Mvc
is referenced from the packages. Is there anything else which is required?
Update: I tried these solutions so far:
-
Does the Razor View Engine work for Mono?
-
Is it possible to use Razor 2.0 view engine under mono?
-
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-of-3/
It seems like it is a known issue but I strongly believe there shall be some hack for this to work. I tried using aspx engine also but no gain.
Solution 1:
The latest news afaik is that Miguel rejected my minimal pull request last year but you can see at the bottom of that Pull Request that a couple of others have got builds on github which include this and more.
I can't see anyone's got a pull request accepted for mono mainline. The way forward I can see is if you know/can persuade someone on the Xamarin team to push this.
Or, helping with getting the now-open-sourced .Net code running on mono.
But https://github.com/gentoo/dotnet looks interesting: It has pulled this and some other MVC5 changes.
Solution 2:
As of right now, the only way to get around this is to build and install Mono from source from GitHub.
You can refer to the Xamarin Bugzilla issue: https://bugzilla.xamarin.com/show_bug.cgi?id=16475#c13
But, then, you might end up running into something else.... This doesn't seem to be a high-priority for the Mono guys; rather, the Xamarin/mobile story seems to gain the most attention.