我正在拼命地尝试在 Monodevelop 上使用 Razor 设置 MVC 4(在最坏的情况下 3)。我坐在一台装有 Mono 2.11.4 的 Mac OS X 机器上。
它似乎没有所需的所有组件。例如, System.Web.Helper 似乎没有找到。而 MonoDevelop 只能找到 System.Web.Mvc 版本 3(选择 NET Framework 4.5)或版本 2(选择 NET Framework 4.0)。有谁知道如何让 MVC 4 with Razor 工作?
我正在拼命地尝试在 Monodevelop 上使用 Razor 设置 MVC 4(在最坏的情况下 3)。我坐在一台装有 Mono 2.11.4 的 Mac OS X 机器上。
它似乎没有所需的所有组件。例如, System.Web.Helper 似乎没有找到。而 MonoDevelop 只能找到 System.Web.Mvc 版本 3(选择 NET Framework 4.5)或版本 2(选择 NET Framework 4.0)。有谁知道如何让 MVC 4 with Razor 工作?
(理论上,Razor pages 与 Mono 一起使用 2.10.x 系列,但您必须将 Microsoft 的程序集与它捆绑到您的 Linux 机器中。)
从 Mono 2.11.1 开始,这些程序集现在默认捆绑在 Mono 中,因为 Microsoft 最近(2012 年3 月)开源了 Razor 。所以:您使用的是正确版本的 Mono。
问题在于,正如这篇博文中所解释的,MVC4 依赖于异步 ASP.NET API 堆栈,该堆栈在 Mono 中还没有准备好。所以是的,您现在可以将 Razor 与 Mono 一起使用,而无需从 Windows 部署 MS 程序集,但是,您现在需要坚持使用 MVC3,而不是 4。
(从另一个stackoverflow问题中复制粘贴我的答案并稍微调整一下。)
我修改了 VS2010 MVC4 项目模板以在 Mac 和 Linux 上的 Xamarin Studio/MonoDevelop 中运行 out-of-the-zipfile:http: //www.cafe-encounter.net/p1319/run-asp-net-mvc4-on- mono-monodevelop-on-mac-the-c-template-project。
更新:我在 .Net 4.5 模板上做了一个 MVC4,并在http://www.cafe-encounter.net/p1510/asp-net-mvc4-net-framework-version-4-5-c-razor- template-for-mono-on-mac-and-linux,包括指向 github 的链接。
根据Mono 站点上的兼容性页面,支持 MVC4,但异步功能除外。除非 MVC4 框架的一部分默认使用异步,否则只有在代码中添加了该模式时,这些新功能才会成为问题。