Xamarin / Monodevelop / Mono MVC 3 on Mac issues

As I’m not a .NET expert (yet), I had significant issues getting ASP.NET MVC (Razor) to work on Xamarin / Mac. Now I don’t want to rant about flashbacks of when I worked a lot more in MS space, particularly DLL hell, but this is DLL hell and it truly sucks.

Simply put; Xamarin (and I assume Monodevelop, but i’m not sure about that) installs a MVC 3 System.Web.Mvc.dll, but it’s missing the System.Web.WebPages.dll.

In the created Web.config it’s referring to that as Version= There are tutorials online to fix it having NuGet manage your Xamarin assemblies (partially); following those, at this moment, you’ll get a nice System.Web.WebPages which is for MVC 5 and won’t work because of missing references in System.Web.

What you need is another version of System.Web.WebPages; you actually need version 2 instead of the version 1 indicated in the generated Web.config.

To fix that, download nuget.exe to your mac and run, somewhere;

mono nuget.exe install Microsoft.AspNet.WebPages -Version 2.0.30506

change, in your Web.config, the referencing key;

    <add key=webpages:Version value= />

and Edit your references;

remove System.Web.Helper & System.Web.WebPages (both are red as they cannot be found) and replace them by pointing to DLLs nuget downloaded for you above. Screenshot here.

Now everything works fine.

Be the first to leave a comment. Don’t be shy.

Join the Discussion

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>