是否可以从 Mono 的命令行构建 MSBuild 文件(visual studio sln)?
Posted
技术标签:
【中文标题】是否可以从 Mono 的命令行构建 MSBuild 文件(visual studio sln)?【英文标题】:Is it possible to build MSBuild files (visual studio sln) from the command line in Mono? 【发布时间】:2010-09-08 11:03:57 【问题描述】:是否可以在不启动 MonoDevelop 的情况下构建 Visual Studio 解决方案?
【问题讨论】:
【参考方案1】:我认为您正在寻找 xbuild: http://www.mono-project.com/Microsoft.Build
【讨论】:
【参考方案2】:当前状态(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 是更好的选择。 mdtool build -f:project.sln
或 man mdtool
如果你安装了 MonoDevelop。
【讨论】:
显然 mdtool 已重命名为 mdrun 反过来,你有一个过时的 MonoDevelop。 从 2.10.9 开始的 xbuild 没有给我任何快乐。 “错误 MSB4126:指定的解决方案配置“Debug|web”无效”——尽管按照错误消息中的建议使用 /p:Platform="Any CPU"。【参考方案3】:xbuild 现在支持 VS2005 和 VS2008 的解决方案和项目。
【讨论】:
【参考方案4】:截至 2017 年 8 月,我们现在可以使用
msbuild
xbuild 的命令已被贬值。
【讨论】:
msbuild 目前还不是 Debian 的一部分以上是关于是否可以从 Mono 的命令行构建 MSBuild 文件(visual studio sln)?的主要内容,如果未能解决你的问题,请参考以下文章
您可以从 msbuild.exe 命令行关闭条件编译符号吗?
是否可以在未安装 VS 的情况下从 MSBuild 命令行运行 FxCop 代码分析?
msbuild 是不是知道它是从 Visual Studio 调用还是从命令行调用?
使用 MSBuild 从 Visual Studio 2013 命令行发布 Clickonce 找不到 SignTool.exe