MSBuild 15 工具版本未被接受
MSBuild 15 Tools Version not accepted
我已经在构建服务器上安装了 Visual Studio 2017 的 MSBuild (15.4.0) 工具。为此,我使用了 Visual Studio Downloads
中名为 "Build Tools for Visual Studio 2017" 的 link
MSBuild.exe 的路径是:
C:\Program Files (x86)\Microsoft Visual
Studio17\BuildTools\MSBuild.0\Bin
我已将此路径添加到环境变量 'path'。
我有一个 powershell 脚本,其中包含以下内容作为构建任务的主体:
msbuild '..\MyApplication.sln' /t:Build /tv:15.0
/p:GenerateBuildInfoConfigFile=false /p:Configuration=Release
/p:RunCodeAnalysis=True /p:VisualStudioVersion=15.0
但是,执行此操作时(全部由 TeamCity 处理)我在日志中发现以下内容:
MSBUILD : error MSB1040: ToolsVersion is not valid. The tools version
"15.0" is unrecognized. Available tools versions are "2.0", "3.5",
"4.0".
documentation 建议 15.0 应该是正确的。
编辑
在 What's New in MSBuild 15 的 2017 年文档中指出:
MSBuildToolsVersion for this version of the tools is 15.0. The
assembly version is 15.1.0.0.
但是,2017 年的文档 MSBuild Command Line Reference 指出:
For MSBuild 4.5, you can specify the following values for version:
2.0, 3.5, and 4.0. If you specify 4.0, the VisualStudioVersion build property specifies which sub-toolset to use. For more information, see
the Sub-toolsets section of Toolset (ToolsVersion).
所以我对命名法有点困惑:MSBuild 15 或 MSBuild 4.5...?
我终于找到了解决方法。是路径不对。
解决方案是将上面的 powershell 行更改为:
$msbuild = 'C:\Program Files (x86)\Microsoft Visual Studio17\BuildTools\MSBuild.0\Bin\msbuild.exe'
& msbuild '..\MyApplication.sln' /t:Build /m /p:GenerateBuildInfoConfigFile=false /p:Configuration=Release /p:RunCodeAnalysis=True /p:VisualStudioVersion=15.0
我已经在构建服务器上安装了 Visual Studio 2017 的 MSBuild (15.4.0) 工具。为此,我使用了 Visual Studio Downloads
中名为 "Build Tools for Visual Studio 2017" 的 linkMSBuild.exe 的路径是:
C:\Program Files (x86)\Microsoft Visual Studio17\BuildTools\MSBuild.0\Bin
我已将此路径添加到环境变量 'path'。
我有一个 powershell 脚本,其中包含以下内容作为构建任务的主体:
msbuild '..\MyApplication.sln' /t:Build /tv:15.0 /p:GenerateBuildInfoConfigFile=false /p:Configuration=Release /p:RunCodeAnalysis=True /p:VisualStudioVersion=15.0
但是,执行此操作时(全部由 TeamCity 处理)我在日志中发现以下内容:
MSBUILD : error MSB1040: ToolsVersion is not valid. The tools version "15.0" is unrecognized. Available tools versions are "2.0", "3.5", "4.0".
documentation 建议 15.0 应该是正确的。
编辑 在 What's New in MSBuild 15 的 2017 年文档中指出:
MSBuildToolsVersion for this version of the tools is 15.0. The assembly version is 15.1.0.0.
但是,2017 年的文档 MSBuild Command Line Reference 指出:
For MSBuild 4.5, you can specify the following values for version: 2.0, 3.5, and 4.0. If you specify 4.0, the VisualStudioVersion build property specifies which sub-toolset to use. For more information, see the Sub-toolsets section of Toolset (ToolsVersion).
所以我对命名法有点困惑:MSBuild 15 或 MSBuild 4.5...?
我终于找到了解决方法。是路径不对。
解决方案是将上面的 powershell 行更改为:
$msbuild = 'C:\Program Files (x86)\Microsoft Visual Studio17\BuildTools\MSBuild.0\Bin\msbuild.exe'
& msbuild '..\MyApplication.sln' /t:Build /m /p:GenerateBuildInfoConfigFile=false /p:Configuration=Release /p:RunCodeAnalysis=True /p:VisualStudioVersion=15.0