Mono 4.0 已经发布,二进制包已经准备好,具体的发布说明参见:http://www.mono-project.com/docs/about-mono/releases/4.0.0/. 今天在Mac上更新了Mono 4 和Xamarin Studio 5.9。
使用Xamarin Studio 创建了一个asp.net mvc 项目:
模版使用的是5.2.0 版本的,目标框架是Mono/.NET 4.5,我通过Nuget 更新到了5.2.3 , 更新包的过程中需要调整下web.config System.Web.Mvc的版本从5.2.0 更新为5.2.3。
运行起来,看到下面的页面
在MAC当在调试运行时出现类似如下的问题
System.UnauthorizedAccessException Access to the path "/Library/Frameworks/Mono.framework/Versions/4.0.0/etc/mono/registry" is denied.
这时需要针对目录做权限配置:
sudo mkdir /Library/Frameworks/Mono.framework/Versions/4.0.0/etc/mono/registry
sudo chmod g+rwx /Library/Frameworks/Mono.framework/Versions/4.0.0/etc/mono/registry
或者删除引用Microsoft.Web.Infrastructure.dll ,并且在bin目录下删除Microsoft.Web.Infrastructure.dll。
通过这个示例说明Mono 4.0 已经完整支持ASP.NET MVC 5了。之前的Mono 3.12.1 版本可以支持ASP.NET MVC 2-4,如果是要在Mono上运行ASP.NET MVC 5,建议使用Mono 4.0.1版本。
http://www.cafe-encounter.net/p1510/asp-net-mvc4-net-framework-version-4-5-c-razor-template-for-mono-on-mac-and-linux