使用Mono和具有依赖关系的多个项目(MonoDevelop除外)的正确构建系统是什么?

时间:2008-11-02 02:01:24

标签: .net mono build dependencies

在之前的一个问题中,我询问过使用xbuild编译解决方案文件,但只是被告知它不起作用。 NAnt似乎有些过时了。还有哪些其他选择?我需要支持跨多个项目的依赖项的东西。

4 个答案:

答案 0 :(得分:3)

我问了一个类似的问题:

Is it possible to build MSBuild files (visual studio sln) from the command line in Mono?

答案(直到xbuild完成)为mdtool

答案 1 :(得分:2)

我不确定是否只有一个正确的构建系统可供使用。 :-)

我知道Mono团队使用make来构建MonoDevelop,而MonoDevelop使用make来构建由MonoDevelop(http://tirania.org/blog//texts/md-build.html)创建的项目。

也就是说,还有xBuild(http://www.mono-project.com/Microsoft.Build),这是由mono团队创建的MSBuild兼容构建引擎。这实际上可能是最好的工具,因为除了Mono之外,它还允许您在Microsoft的.NET平台下构建项目。这个链接(http://go-mono.com/forums/#nabble-td15680662)讨论了MD向MSBuild的转变。

答案 2 :(得分:2)

我正在使用mono-trunk(单声道2.6),xbuild现在肯定更有能力了。

答案 3 :(得分:0)

xBuild曾经是垃圾,直到5个月前。

我不知道这是否有所改变,但从MonoDevelop仍然不会使用它的事实来看,我会说它仍然是相同的。

我非常怀疑任何官方单声道版本都包含功能性xbuild。

mdtool IMO是一个非常糟糕的解决方案,尤其是对于像我这样的人在没有安装mdtool所需的GUI框架的情况下在远程服务器上构建单声道应用程序。

我所发现的工作解决方案是让MonoDevelop为您生成自动脚本并继续手动破解它们。

它听起来并没有那么糟糕,我甚至制作了一些单声道应用程序来将.csproj中的项目同步到Makefile.am文件。