【发布时间】:2017-10-19 17:26:51
【问题描述】:
我已在构建服务器上安装了适用于 Visual Studio 2017 的 MSBuild (15.4.0) 工具。为此,我使用了来自Visual Studio Downloads的标题为“Visual Studio 2017 构建工具”的链接
MSBuild.exe 的路径是:
C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin
我已将此路径添加到环境变量“路径”中。
我有一个 powershell 脚本,其中包含以下内容作为构建任务的主体:
msbuild '..\MyApplication.sln' /t:Build /tv:15.0 /p:GenerateBuildInfoConfigFile=false /p:Configuration=发布 /p:RunCodeAnalysis=True /p:VisualStudioVersion=15.0
但是,当执行此操作时(全部由 TeamCity 处理),我在 LOG 中找到以下内容:
MSBUILD:错误 MSB1040:ToolsVersion 无效。工具版本 “15.0”无法识别。可用的工具版本为“2.0”、“3.5”、 “4.0”。
documentation 建议 15.0 应该是正确的。
编辑 从 What's New in MSBuild 15 的 2017 年文档中可以看出:
此工具版本的 MSBuildToolsVersion 为 15.0。这 程序集版本为 15.1.0.0。
但是,2017 年文档 MSBuild Command Line Reference 指出:
对于 MSBuild 4.5,您可以为版本指定以下值: 2.0、3.5 和 4.0。如果您指定 4.0,则 VisualStudioVersion 构建属性指定要使用的子工具集。有关详细信息,请参阅 工具集 (ToolsVersion) 的子工具集部分。
所以我对命名法有点困惑:MSBuild 15 还是 MSBuild 4.5...?
【问题讨论】:
-
PATH,善意的破坏者。键入“where msbuild.exe”,您可能会看到第一个列出的错误。
-
@Hans: C:\Users\Me>msbuild.exe C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\ MSBuild. exe
-
直接从 CMD 运行构建命令行怎么样?我已经设置了这条路径,并成功构建了一个 Visual Studio 2017 空白项目。您可以尝试使用 Visual Studio 2017 创建一个空白项目,然后使用上述方法在构建服务器上构建。
标签: msbuild visual-studio-2017 build-tools build-server