是否可以从Mono中的命令行构建MSBuild文件(Visual Studio sln)?

时间:2020-03-05 18:50:55  来源:igfitidea点击:

是否可以在无需启动MonoDevelop的情况下构建Visual Studio解决方案?

解决方案

回答

我认为我们正在寻找xbuild:
http://www.mono-project.com/Microsoft.Build

回答

当前状态(Mono 2.10,2011):xbuild现在能够生成所有版本的Visual Studio / MSBuild项目,包括.sln文件。只需运行xbuild,就像在Microsoft .Net Framework上执行msbuild一样。我们不需要安装Monodevelop,xbuild带有标准的Mono安装。

如果构建使用自定义任务,则它们在不依赖Windows可执行文件(例如rmdir或者xcopy)的情况下仍然可以工作。

编辑项目文件时,请使用标准Windows路径语法,如有必要,它们将由xbuild转换。此规则的一个重要警告是区分大小写不要将相同文件名的不同大小写混用。如果我们有一个执行此操作的项目,则可以通过调用MONO_IOMAP = case xbuild foo.sln(或者尝试MONO_IOMAP = all)启用兼容模式。 Mono的页面描述了更高级的MSBuild项目移植技术。

Mono 2.0答案(2008):xbuild尚不完整(它与VS2005 .csproj文件兼容,在VS2008 .csproj中存在问题,无法处理.sln)。 Mono 2.1计划将mdtool(MonoDevelop命令行生成引擎)的代码库合并到其中,但是目前mdtool是一个更好的选择。 mdtool build -f:project.sln或者man mdtool(如果已安装MonoDevelop)。

回答

xbuild现在支持VS2005和VS2008的解决方案和项目。