我在mac OS 10.8上使用monodevelop 3.0.4.7和mono 2.11.4。
当我在monodevelop中从头开始创建一个新的解决方案时,我可以使用razor视图创建几种类型的ASP.NET mvc3项目,但这些项目是通过引用system.web.helpers和system.web.webpages来创建的。不适用于Mono / .net 4.0 in mono 2.11.4“并且不会构建。
如果我在项目选项中将.net版本更改为4.5,则会解析system.web.webpages参考,如果我只是删除对system.web.helpers的引用,则可以构建默认站点。但是,它无法使用.cshtml视图,它只查找aspx视图。
我尝试了与mono的引用和版本相关的不同内容,在global.asax.cs中将viewengine更改为razor,甚至从基于windows的asp.net mvc应用程序中复制了dll,但是新的东西一直在打破。
包含的项目类型从头开始工作似乎很奇怪,所以我猜/希望我错过了更简单的东西?
答案 0 :(得分:3)
我在Linux上遇到了完全相同的问题,所以我决定在单声道邮件列表上询问(请参阅我的问题的答案:http://lists.ximian.com/pipermail/mono-list/2012-October/049022.html)。
简短的回答是:不,你不会错过任何简单的事情。
长版本:当前版本的mono不会编译System.Web.Helpers.dll,所以你必须自己做一些步法来编译它。这在上面的链接中描述。
我想我们只需等待一段时间才能成为单声道框架的一部分:/
答案 1 :(得分:3)
我遇到了这个问题的解决方案:
http://blog.miraclespain.com/archive/2013/Jun-24.html
基本上在xamarin工作室中,您可以从以下加载项存储库源添加nuget 版本:
http://mrward.github.com/monodevelop-nuget-addin-repository/4.0/main.mrep
安装nuget后,您可以创建一个新的mvc3 razor项目,注意缺少对system.web.helpers和system.web.pages的引用,然后删除它们,然后使用nuget添加 microsoft aspnet web第2页包解决了缺失的引用。