目前正在开发一个正在VS2010中开发的项目。我在VM中运行Windows,我已经完成了大部分.NET开发,但我现在正在开发一个基于ASP.NET MVC3的新项目,所以我想我可以使用Mono / MonoDevelop来节省一些系统资源通过不运行Windows VM(在以前的准系统MVC2应用程序上完美地工作)。
新的MVC3项目正在使用Ninject和扩展。我不能只运行xsp4
并让它工作(加载错误)。所以我一直在尝试git
个别项目(ninject,ninject.web.commons,ninject.web.mvc | ninject.mvc3)并构建它们。
(仅在MonoDevelop 2.6 beta 2中构建它们,使用nant
无法成功)
Ninject构建正常,但是编译器崩溃会构建其他的。这些甚至可以与Mono 2.10.x一起使用吗?如果有的话,是否有人使用它们取得了成功?
答案 0 :(得分:2)
所以我能够让这个工作,但不是我想象的方式。对于各种Ninject项目,有单声道版本等,但我仍有问题。
我的第二次尝试是使用MonoDevelop从源代码构建。这被证明是地狱,主要是使用Ninject.MVC3(我们不得不改变一堆匿名方法调用以使编译器满意)。我们最终得到了这个工作,但无济于事,它也无法使我们的项目有效。
所以,最后,我走了另一条道路。
我刚刚复制了这些:
System.Web.Helpers.dll
System.Web.Mvc.dll
System.Web.Razor.dll
System.WebPages.Deployment.dll
System.Web.WebPages.dll
System.WebPages.Razor.dll
进入项目的/ bin文件夹 在MonoDevelop中更新了指向这些的引用,因为它的MVC的GAC引用是版本2)
我只是简单地使用了使用NuGet下载到VS2010的.NET ninject DLL,而不是试图将Mono版本用于Ninject相关的任何内容。
然后,一切都在起作用。该项目编制得很好 我留下的唯一问题是FreeTDS在尝试与SQL服务器通信时不起作用。我经历了FreeTDS的工作,并用Python和pyodbc验证了它。 Mono仍然无法连接,只是超时了。我从Mono 2.10.2降级 - > 2.10.1,神奇地说,它起作用了。
所以现在我已经使用MVC3,Razor,NHibernate,Ninject让我们的项目在我的Mac上使用MonoDevelop(不需要占用我的资源的VM)......
呼.....