是否有可能构建Visual Studio解决方案而不必启动MonoDevelop?
当前状态(Mono 2.10,2011年):xbuild现在能够构建所有版本的Visual Studio / MSBuild项目,包括.sln文件。只需像在Microsoft .Net Framework上执行msbuild
一样运行xbuild
即可。您不需要安装Monodevelop,xbuild已经随标准的Mono安装一起提供。
如果您的构建使用自定义任务,则它们应该仍然可以工作,如果它们不依赖于Windows可执行文件(例如rmdir
或xcopy
)。
当您编辑项目文件时,请使用标准的Windows路径语法 - 如果需要,它们将被xbuild转换。这个规则的一个重要注意事项是大小写敏感性 - 不要混合同一文件名的不同大小写。如果您有一个这样做的项目,可以通过调用MONO_IOMAP=case xbuild foo.sln
(或尝试MONO_IOMAP=all
)来启用兼容模式。Mono有一页描述更高级的MSBuild project porting技术。
Mono 2.0的回答(2008):xbuild 还不完整(它可以很好地处理 VS2005 的 .csproj 文件,但在处理 VS2008 的 .csproj 文件时存在问题,并且不能处理 .sln)。Mono 2.1计划将 mdtool(MonoDevelop命令行构建引擎)的代码库合并到其中,但目前 mdtool 是更好的选择。如果您已经安装了MonoDevelop,则可以使用mdtool build -f:project.sln
或man mdtool
。
截至2017年8月,我们现在可以使用
命令,因为xbuild已经被废弃。
xbuild现在支持VS2005和VS2008的解决方案和项目。