【问题标题】:MSbuild Error: The builds tools for v140 (Platform Toolset = 'v140') cannot be foundMSbuild 错误:找不到 v140(平台工具集 = 'v140')的构建工具
【发布时间】:2016-01-14 06:35:57
【问题描述】:

我有一个由大量项目(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


【解决方案1】:

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

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

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

【讨论】:

  • 对于任何困惑为什么图像中的步骤不起作用的人的重要说明。第 4 步是重要的一步,并没有在图像中描述。另请参阅此处的图片:developercommunity.visualstudio.com/content/problem/48806/…,如 Visual Studio 网站本身所述。 - 或者只需在顶部的搜索框中输入 140。
  • 我没有找到“VC++ 2015.3 v140 工具集(x86,x64)”,也没有搜索框可以搜索。可以到“Individual Components”手动搜索,应该在“Compilers, build tools, and runtimes”这个类别下
【解决方案2】:

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

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

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

【讨论】:

  • 是否需要安装VS2015?我正在尝试使用 MS Build Tools for 2015 进行构建,但仍然面临错误。
【解决方案3】:

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

【讨论】:

    【解决方案4】:

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

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

    【讨论】:

      【解决方案5】:

      Jacob's answer 为我工作,但我必须单击顶部的“单个组件”选项卡才能执行第 3 步。

      image

      【讨论】:

        【解决方案6】:

        对于尝试对Visual Studio Build Tools 2022 执行相同操作的人,您可以在选择Desktop development with C++ 工作负载时在Optional 下找到此内容。此外,我必须更新环境变量中的以下变量以指向新位置。

        1. Path:用 C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\MSBuild\Current\Bin 替换 BuildTools 的先前路径
        2. VCTargetsPath: C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\MSBuild\Microsoft\VC\v170
        3. VS140COMNTOOLSC:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\ PS:我不必更改值。但这个设置是我工作所必需的。

        【讨论】:

          【解决方案7】:

          【讨论】:

          • 欢迎来到 Stack Overflow!答案中包含解决问题所需的信息很重要——发布超链接很好,但仅靠它本身是不够的(因为链接的页面最终可能会消失)。
          猜你喜欢
          • 2017-03-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-08-15
          • 2013-11-17
          相关资源
          最近更新 更多