使用MSBuild构建少数项目失败

时间:2019-01-24 14:13:46

标签: .net visual-studio jenkins visual-c++ msbuild

所有其他C#项目文件都使用MSBuild脚本构建。 但是,很少有C ++相关项目因以下错误而失败-

  

C:\ Program Files(x86)\ MSBuild \ Microsoft.Cpp \ v4.0 \ V110 \ Microsoft.Cpp.Platform.targets(44,5):错误MSB8020:v140的构建工具(Platform Toolset =' v140')   找不到。要使用v140构建工具进行构建,请点击   在项目菜单或右键单击解决方案,然后选择“更新VC ++   项目...”。安装v140以使用v140构建工具进行构建。

当我尝试使用命令提示符构建项目时出现上述错误,而尝试使用Jenkins进行构建时也出现了相同的错误。我们应该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

解决方案1)通过创建一个值为-VCTargetsPath的系统环境变量-C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140,解决了在构建服务器上使用命令提示符构建项目的问题。

但是,当尝试使用Jenkins进行构建时,上述解决方案不起作用。以下解决方案解决了该问题。

解决方案2)更改了构建脚本以传递此参数-/ p:VCTargetsPath =“ C:\ Program Files \ MSBuild \ Microsoft.Cpp \ v4.0 \ V140”

答案 1 :(得分:0)

  

您的vs版本是什么?您要构建的C ++项目似乎   来自VS2015。

如果您是vs2013或更早版本,我们可以安装build tools 2015来尝试解决此问题。

注意:根据错误消息,项目来自vs2015,有时当我们从更高版本vs编译项目时,可能会导致兼容性问题。 因此,我建议您将vs更新为vs2015。

此外: 右键单击项目名称=>属性=>常规=>平台工具集

,然后可以找到您拥有的工具集版本,并确保已成功安装v140。