如何为同一解决方案C ++使用不同版本的MSBuild

问题描述 投票:0回答:1

我有一个包含多个项目的Visual Studio解决方案。其中很少使用Visual Studio 2017,而很少使用Visual Studio2013。差异是由于项目的用例所致。 Visual Studio可以选择为每个项目选择工具集。现在,我需要使用MSBuild通过Jenkins创建构建。如何在MSBuild中为项目设置工具集?

jenkins visual-studio-2013 msbuild visual-studio-2017 visual-studio-2017-build-tools
1个回答
0
投票
如何为同一解决方案C ++使用不同版本的MSBuild

First,请确保在本地代理中安装了

VS2013和VS2017

来自VS IDE的平台工具集存储在xxx.vcxproj文件中。它存储为PlatformToolset xml节点。<PlatformToolset>v141</PlatformToolset>

enter image description here

enter image description here

v142

表示VS2019,

v141

表示VS2017,v140表示VS2015,v120表示VS2013因此,根据您的情况,您只需更改PlatformToolset。

解决方案>>

[1)

如果要构建整个解决方案,则可以根据需要更改xxx.vcxproj文件的每个PlatformToolset。

然后使用msbuild xxx.sln -t:build

[2)

如果要构建每个项目,可以在命令行中覆盖PlatformToolset来指定它。

msbuild xxx.vcxproj -t:build -p:PlatformToolset=v141

msbuild xxx.vcxproj -t:build -p:PlatformToolset=v120
© www.soinside.com 2019 - 2024. All rights reserved.