不接受MSBuild 15工具版本

时间:2017-10-19 17:26:52

标签: msbuild visual-studio-2017 build-tools build-server

我在构建服务器上安装了Visual Studio 2017的MSBuild(15.4.0)工具。为此,我使用了名为" Visual Studio for Visual Studio 2017"来自Visual Studio Downloads

MSBuild.exe的路径是:

  

C:\ Program Files(x86)\ Microsoft Visual   工作室\ 2017 \编译工具\的MSBuild \ 15.0 \滨

我已将此路径添加到环境变量'路径'。

我有一个powershell脚本,以下是构建任务的主体:

  

msbuild' .. \ MyApplication.sln' / t:Build /tv:15.0   / p:GenerateBuildInfoConfigFile = false / p:Configuration = Release   / 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构建属性指定要使用的子工具集。有关更多信息,请参阅   Toolset的子工具集部分(ToolsVersion)。

所以我对命名法有点困惑:MSBuild 15或MSBuild 4.5 ......?

1 个答案:

答案 0 :(得分:3)

最后解决了这个问题 - 是的,这是错误的路径。

解决方案是将上面的powsershell线路改为:

$msbuild = 'C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\msbuild.exe'
    & msbuild '..\MyApplication.sln' /t:Build /m /p:GenerateBuildInfoConfigFile=false /p:Configuration=Release /p:RunCodeAnalysis=True /p:VisualStudioVersion=15.0