Инструменты сборки для v120 (Platform Toolset = 'v120) не могут быть найдены

Использование visual studio 2012 на окнах 8 x64 возможно, это вызвано тем, что msbuild перемещается в .net, но я еще не видел, как его исправить.

4>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.Cpp.Platform.targets(44,5): error MSB8020: The builds tools for v120 (Platform Toolset = 'v120') cannot be found. To build using the v120 build tools, either click the Project menu or right-click the solution, and then select "Update VC++ Projects...". Install v120 to build using the v120 build tools.    
2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.Cpp.Platform.targets(44,5):
error MSB8020: The builds tools for v120 (Platform Toolset = 'v120') cannot be found. To build using the v120 build tools, either click the Project menu or right-click the solution, and then select "Update VC++ Projects...". Install v120 to build using the v120 build tools.    
5>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.Cpp.Platform.targets(44,5): error MSB8020: The builds tools for v120 (Platform Toolset = 'v120') cannot be found. To build using the v120 build tools, either click the Project menu or right-click the solution, and then select "Update VC++ Projects...". Install v120 to build using the v120 build tools.

Ответ 1

http://en.wikipedia.org/wiki/Visual_C++

Вы используете Visual С++ 2012, который является v110. v120 означает Visual С++ 2013.

Таким образом, либо вы изменяете настройки проекта для использования набора инструментов v110, либо устанавливаете Visual Studio 2013 на этом компьютере и используете VS2013 для его компиляции.

Ответ 2

Если вы установили VS2013 и получаете эту ошибку, вы можете вызвать неправильный MSBuild. В VS2013 Microsoft теперь включает MSBuild как часть Visual Studio. Подробнее см. эту запись в блоге в Visual Studio.

В частности, обратите внимание на новое расположение двоичных файлов:

На 32-битных машинах их можно найти в: C:\Program Файлы \MSBuild\12.0\Bin

На 64-битных машинах 32-разрядные инструменты будут находиться под: C:\Program Files (X86)\MSBuild\12.0\Bin

и 64-разрядные инструменты под: C:\Program Files (X86)\MSBuild\12.0\Bin\amd64

MSBuild в %WINDIR%\Microsoft.NET\Framework\, похоже, не распознает набор инструментов платформы VS2013 (v120).

Ответ 3

если вы используете визуальный 2012 щелкните правой кнопкой мыши по имени проекта → свойства → свойства конфигурации → общий → набор инструментов платформы → Visual Studio 2012 (v110)

Ответ 5

Чтобы добавить к Кевину и Лексу ответы:

У нас была аналогичная ситуация на работе, где и разработчики, и сервер сборки имели Visual Studio 2013. Наше решение имело проект VS 2013 С++ и скомпилировалось отлично, когда оно построено на машине разработчика или на сервере сборки в среде IDE. Проблема заключалась в том, чтобы запускать сборки с использованием определений сборки TFS. Мы по-прежнему использовали старый шаблон сборки (версия 11.1) вместо 12.0. К счастью, простое дополнение атрибута к файлу xaml шаблона решило проблему. В разделе Последовательность "Скомпилировать проект" есть xaml node, который начинается с

mtbwa:MSBuild CommandLineArgument=....

Вы можете добавить атрибут "ToolPath" и указать его на правильный путь MSBuild.exe, который вы хотите вызвать, на основе ответа Кевина. Например:

ToolPath="C:\Program Files (x86)\MSBuild\12.0\Bin"

Ответ 6

Чтобы добавить ответ Луи:

В качестве альтернативы вы можете использовать атрибут ToolVersion="12.0", если вы используете Visual Studio 2013 вместо использования атрибута ToolPath. Подробнее посетите http://msdn.microsoft.com/en-us/library/dd647548.aspx

Таким образом, вы не должны использовать абсолютный путь.

Ответ 7

Когда VS2013 С++ проект открывается в VS2015, и есть предупреждения о том, что "Инструменты сборки для v120... не могут быть найдены", мне просто нужно отредактировать файл .vcxproj и изменить <PlatformToolset>v120</PlatformToolset> на <PlatformToolset>v140</PlatformToolset>, и закрыть и снова открыть решение.

Ответ 8

В VS 2012, я получал "SMB2 не будет строить: ошибка 1 ошибка MSB8020: инструменты сборки для Visual Studio 2010 (Platform Toolset = 'v100) не могут быть найдены. Чтобы построить с помощью инструментов сборки v100, либо щелкните в меню" Проект "или щелкните правой кнопкой мыши решение, а затем выберите" Обновить проекты VС++... ". Установите Visual Studio 2010 для создания с использованием инструментов сборки Visual Studio 2010."

Бросив осторожность на ветер, я попробовал следующее: выбрал решение в обозревателе решений, а затем щелкнул в пункте меню "Обновить VС++". Это сделало некоторое обновление, а затем начало сборку, которая преуспела.

Пункт меню "Обновить VС++" больше не отображается в меню решения.

Ответ 9

У меня была аналогичная проблема, когда я удалил обновление сообщества VS 2013 и переключился на публикацию сообщества VS 2015

и проблема, приобретенная в проектах Windows Phone 8.1, где он жаловался на то, что у вас нет подходящего инструментария msbuild и об эмуляторах, которые не установлены, даже если они есть.

Я знаю, что источником проблемы были настройки сообщества VS 2013, оставленные этой последней деинсталляцией, которая испортила все для меня, даже несмотря на то, что процесс удаления прошел без проблем с панели управления.

Я сделал все возможное, чтобы удалить оставшиеся файлы, но всегда оставалось что-то.

и то, что только фиксировало это для меня, - это новая установка Windows 10 x64, после чего я установил версию сообщества VS 2015 и это! больше никаких ошибок для меня, и эмулятор wp8.1 тоже работал отлично!

в моем случае теперь я абсолютно уверен, что предыдущие настройки установки Visual Studio испортили все для меня, и потому, что я не нашел никакого способа найти и попытался полностью стереть файлы и настройки сообщества VS 2013, мне пришлось заплатить цену за его и переустановите мою ОС.

возможно, вы сможете избежать переустановки ОС, если сможете найти способ полностью удалить последние установочные файлы для визуальной студии.

P.S: только попытайтесь это решение (переустановить ОС) после того, как вы попытаетесь все возможное, сначала, если ничего не получится, и только тогда... сделайте это решение в крайнем случае.

Ответ 10

Потрачено на это 4+ часов.

У меня Visual Studio 2017 Enterprise, один из проектов имеет ошибку ниже:

Инструменты сборки для v120 (Platform Toolset = 'v120') не найдены

Чтобы устранить вышеуказанную ошибку, я попытался установить все ниже:

Однако ничего из вышеперечисленного не сработало.

Позже установил Visual Studio 2013 Ultimate, тогда все работало нормально.

Похоже, старая Visual Studio является обязательным для решения этой проблемы.

Надеюсь, поможет.

Ответ 11

В VS2013, чтобы настроить все проекты для исправления инструментов сборки, вы можете щелкнуть правой кнопкой мыши по решению в обозревателе решений и выбрать "Решение Retarget". Он изменит все функции (все, что вы проверите с помощью флажка в открывшемся диалоговом окне), поэтому ошибка исчезнет.

Ответ 12

В моем случае я дважды щелкнул sln файл Visual 2013 и Visual 2012 открыл (вместо Visual 2013). Пытаясь скомпилировать с Visual 2012, проект с набором инструментов платформы, установленным на "v120", показал вышеописанную ошибку. Однако, повторно открыв sln с помощью Visual 2013, набор инструментов платформы был настроен на "Visual Studio 2013 (v120)" - обратите внимание на полное имя на этот раз - на самом деле я сделал эту работу для меня. Проект теперь хорошо компилируется.

Ответ 13

Я получал ту же ошибку при создании проекта USBView в VS2015. Я удалил эту ошибку, выбрав "Параметры набора инструментов" для "Visual Studio 2015 (v140)", а затем щелкните правой кнопкой мыши по решению (в VS2015) и выберите "Retarget Solution" и выбрал 10.0.10240.0 в этом диалоговом окне.

Кажется, есть также ProjectUpgradeTool от microsoft, который, как предполагается, конвертирует старые проекты для обновления, чтобы опубликовать VS2012 VS, но я не смог найти этот инструмент на своей машине.

Мне еще нужно исправить новую ошибку компоновщика с помощью this.

Ответ 14

У меня была аналогичная проблема. Сообщество VS 2015 (MSBuild 14), создающее приложение С++, захотелось использовать VS 2010 (v100). Все это привело к отказу msbuild к недопустимой настройке. Странно.

Итак, перепроверьте все эти параметры и параметры.

Ответ 15

Если вы используете генераторы make, такие как cmake, JUCE и т.д., попытайтесь установить правильную цель версии VS (2013, 2015, 2017) и снова восстановить решение.

Ответ 16

Я столкнулся с такой же проблемой, создавая часть проекта.

Я использовал Visual Studio 2015 IDE, там он работал нормально, но при создании сборки из PowerShell script он предоставлял связанный с набором инструментов . Инструменты сборки для v140 (Platform Toolset = 'v140) не могут быть найдены..

Итак, в конце концов, это была проблема указания неверного MSBUILD exe для соответствующего проекта.

Раньше я указывал на $ MsBuild = "C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe

И сборка была успешной, когда я обновил script, чтобы указать на $ MSBUILD = "C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe"

Следовательно, чтобы устранить проблему, обязательно используйте правильный MSBUILD.