MSbuild错误:无法找到v140(Platform Toolset ='v140')的构建工具

问题描述 投票:6回答:4

我有一个由大量项目(C ++和C#)组成的解决方案。我将解决方案升级到VS2015,因此大多数的工具集版本现在都设置为V140,但是少数项目需要保留在V110(第三方库等)中。当我在Visual Studio 2015中构建解决方案时,它构建得很好,但是当TeamFoundationServer尝试构建它时,它失败并出现以下错误:

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

我试图将VisualStudioVersion或正确的MSBuild版本的路径指定为构建参数,但它不起作用,因为其他项目(V110中的那些)将遇到麻烦。

任何帮助将非常感激。

c++ msbuild cross-platform visual-studio-2015 tfsbuild
4个回答
15
投票

我遇到过同样的问题。这个Solution给出的步骤帮助我解决了我的问题。重复此处的步骤以供将来参考。

如果您正在尝试构建Win32“桌面”应用程序,获取v140平台工具集的最简单方法是通过Visual Studio安装程序(请参阅下面的图像,以获取步骤'3'和'4的说明。 “):

  1. 从开始菜单启动“Visual Studio Installer”。
  2. 为已安装的Visual Studio 2017实例选择“修改”。
  3. 在工作负载选择器的“摘要”窗格下,单击“使用C ++进行桌面开发”扩展器(如果已折叠)
  4. 检查“VC ++ 2015.3 v140工具集(x86,x64)”可选功能。

illustration of steps '3.' and '4.'


6
投票

v140的构建工具是VS2015的平台工具集。

如果您使用的是TFS2015,则必须确保构建计算机上的构建环境与本地开发人员计算机相同。您应该在构建计算机上安装VS2015。

如果您使用的是TFS2013或TFS2012,则最有可能调用MSBuild 12.0。您需要将构建模板设置为指向MS Build版本14.0。有关详细信息,请查看:TFS 2013 building .NET 4.6 / C# 6.0


2
投票

您正在尝试使用未在系统上安装或项目无法使用的不同版本的构建工具集进行构建。要将其更改为系统上已安装的内容,请在解决方案资源管理器中右键单击该项目。

转到“属性”。配置属性>常规>平台工具集>(将其更改为系统上安装的工具集)。确保为Debug和Release版本执行此操作


0
投票

Jacob's answer为我工作但是C ++构建工具在VS Build Tools 2017下,而我在2019年7月在Windows 10上安装了VS 2019安装程序。


© www.soinside.com 2019 - 2024. All rights reserved.