在之前的问题中,我询问了有关使用 xbuild 编译解决方案文件的问题,但被告知它对此不起作用。NAnt 似乎有点过时了。还有哪些其他选择?我需要一些支持跨多个项目的依赖关系的东西。
4 回答
我不确定只有一个正确的构建系统可以使用。:-)
我知道 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 的发展。
我正在使用 mono-trunk (mono 2.6),而 xbuild 现在的功能肯定要强大得多。
直到 5 个月前,xBuild 一直都是垃圾。
我不知道这是否改变了,但从 MonoDevelop 仍然不会使用它的事实来看,我会说它仍然是一样的。
我非常怀疑任何官方的 mono 构建都包含功能性 xbuild。
mdtool IMO 是一个非常糟糕的解决方案,尤其是。对于像我这样在远程服务器上构建单声道应用程序的人来说,这些应用程序没有也不会有安装 mdtool 所需的 GUI 框架。
我发现一个可行的解决方案是让 MonoDevelop 为您生成自动生成脚本并继续手动破解它们。
它实际上并没有听起来那么糟糕,我什至制作了一些单声道应用程序来将 .csproj 中的项目同步到 Makefile.am 文件。