Ошибка MSbuild: невозможно найти инструменты сборки для v140 (Platform Toolset = 'v140')

У меня есть решение, которое состоит из большого количества проектов (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) будут в беде.

Любая помощь будет принята с благодарностью.

8 ответов

Я была такая же проблема. Шаги, приведенные в этом решении, помогли мне решить мою проблему. Повторите шаги здесь для дальнейшего использования.

Если вы пытаетесь создать приложение Win32 для настольных ПК, самый простой способ получить набор инструментов платформы v140 - через установщик Visual Studio (см. Рисунок ниже для иллюстрации шагов "3" и "4". "):

  1. Запустите "Установщик Microsoft Visual Studio" из меню "Пуск".
  2. Выберите "Изменить" для экземпляра Visual Studio 2017, который вы установили.
  3. Под панелью "Сводка" селектора рабочей нагрузки щелкните развертыватель "Разработка рабочего стола с C++" (если он свернут)
  4. Проверьте дополнительную функцию "VC++ 2015.3 v140 (x86,x64)".

Инструменты для сборки v140 - это набор инструментов платформы для VS2015.

Если вы используете TFS2015, вы должны убедиться, что среда сборки на вашем компьютере сборки совпадает с локальной машиной разработчика. Вы должны установить VS2015 на свой компьютер.

Если вы используете TFS2013 или TFS2012, скорее всего, называется MSBuild 12.0. Вам нужно установить шаблоны сборки так, чтобы они указывали на версию MS Build 14.0. Подробности смотрите в TFS 2013, сборка.NET 4.6 / C# 6.0

Ответ Джейкоба сработал для меня, но инструменты сборки C++ были в VS Build Tools 2017, в то время как у меня был установщик VS 2019 в Windows 10 по состоянию на июль 2019 года.

Если вы используете Visual Studio 2022 Build Tools, то следующий скрипт PowerShell исправит это:

      $VS_BTOOLS_EXE="vs_buildtools.exe"
$VS_BTOOLS_URI="https://aka.ms/vs/17/release/vs_buildtools.exe"
Invoke-WebRequest -Uri $VS_BTOOLS_URI -OutFile $VS_BTOOLS_EXE
Start-Process -FilePath ./vs_BuildTools.exe -ArgumentList `
     "--add", "Microsoft.VisualStudio.Component.VC.140", `
     "--quiet", "--norestart", "--force", "--wait" -Wait -PassThru

Полезно, когда требуется автоматическая установка.

Вы пытаетесь выполнить сборку с использованием другой версии набора инструментов сборки, которая либо не установлена ​​в вашей системе, либо не может использоваться проектом. Чтобы изменить его на то, что вы установили в своей системе, щелкните правой кнопкой мыши проект в обозревателе решений.

Перейти к свойствам. Свойства конфигурации> Общие> Набор инструментов платформы>(Измените его на набор инструментов, установленный в вашей системе). Убедитесь, что вы делаете это для сборок Debug и Release

Для людей, которые пытаются сделать то же самое с Visual Studio Build Tools 2022, вы можете найти это в разделе Optionalпри выборе Desktop development with C++Нагрузка. Кроме того, мне пришлось обновить приведенные ниже переменные в переменных среды, чтобы указать на новое местоположение.

  1. Path: заменить предыдущий путь для BuildTools на C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\MSBuild\Current\Bin
  2. VCTargetsPath: C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\MSBuild\Microsoft\VC\v170
  3. VS140COMNTOOLS: C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\ PS: мне не нужно было менять значение. Но эта настройка была нужна мне для работы.

Ответ Джейкоба сработал для меня, но мне пришлось щелкнуть вкладку «Отдельные компоненты» вверху для моего шага 3.

изображение

Другие вопросы по тегам