Как установить Visual Studio Build Tools 2010 на Visual Studio 2015 Community?

У меня есть проект, созданный в Visual Studio 2010. Когда я пытаюсь запустить проект в редакции Visual Studio 2015 Community, я получаю ошибку ниже,

Код серьезности Описание Строка файла проекта Ошибка MSB8020 Инструменты сборки для Visual Studio 2010 (Platform Toolset = 'v100) не могут быть найдены. Чтобы создать с помощью инструментов сборки v100, установите инструменты сборки Visual Studio 2010. Кроме того, вы можете перейти к текущим инструментам Visual Studio, выбрав меню "Проект" или щелкнув правой кнопкой мыши на решении, а затем выбрав "Retarget solution". графика C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.Cpp.Platform.targets 55

И когда я попытался создать его с помощью Visual Studio 2015 Build Tools, я столкнулся с примерно 1500 ошибками.

введите описание изображения здесь

Есть ли способ заставить проект работать?

Ответ 1

Если вы не можете установить VS2010, Windows SDK для Windows 7 содержит необходимые инструменты компиляции (v100), вы можете фактически пропустить установку самого SDK и установить только инструменты компилятора, заголовки и библиотеки. Обратите внимание, что компилятор, включенный в Windows SDK, является тем же, что и VS2010, но VS2010 SP1 имеет бит более новый компилятор. Если вам это нужно, вам также потребуется установить Обновление компилятора Microsoft Visual С++ 2010 с пакетом обновления 1 для Windows SDK 7.1. Но имейте в виду, что если вы установите их, у вас могут возникнуть проблемы позже, если вы решите установить VS2010, в установщике есть ошибки, требующие установки компонентов в строгом порядке. Кроме того, если ваш код использует MFC или ATL, вы должны установить VS2010, установка Windows SDK будет недостаточной.

Ответ 2

Вы либо устанавливаете VS 2010, либо строите свой проект, либо еще лучше обновляете свои проекты. Пользовательские параметры установки VS 2015 позволят вам установить набор инструментов v120 Platform Toolset, но не v110 или v100.

Одним из основных изменений в VS 2015 является то, что инструменты С++ (т.е. v140) не установлены с помощью опции Типичная установка. См. Блог Visual С++ Team.

Имейте в виду, что Visual С++ 2010 использовал стандартный проект С++ 0x, а Visual С++ 2015 соответствует стандарту С++ 11, за исключением Expression SFINAE (который частично находится в Обновление 1), поэтому в течение нескольких лет изменилось немного, включая некоторые нарушения. Поскольку вы прыгаете сразу на три основных выпуска - и около 10 небольших обновлений - это может быть немного подавляющим, особенно работая над всеми новыми предупреждениями.

Еще одна вещь, о которой следует помнить, - это то, что Visual С++ 2010 использовал SDK Windows 7.1, а Visual С++ 2012 или более поздней версии - Windows 8.x SDK. Там было много изменений, особенно для разработки DirectX. Это особенно важно для настольных приложений Windows, которые вы задали для препроцессора _WIN32_WINNT для вашей целевой платформы, поскольку SDK Windows 8.x по умолчанию не применяется к "самой старой поддерживаемой платформе", как это делали предыдущие SDK Windows. См. Использование заголовков Windows

VS 2010 и набор инструментов v100 поддерживают таргетинг на Windows XP и Windows Server 2003. Набор инструментов v140 не поддерживает таргетинг на Windows XP/Server 2003. Вместо этого вы должны использовать v140_xp Platform Toolset. См. этот пост для некоторых заметок, поскольку это означает, что вы снова используете SDK Windows 7.1, а не SDK Windows 8.x с инструментами _xp.

См. Нарушение изменений в Visual С++ 2012, Нарушение изменений в Visual С++ 2013 и Нарушение изменений в Visual С++ 2015.

См. также Поддержка С++ 11/14/17 (Современный С++) и Где находится DirectX SDK?.

Если вам нужно построить код как с VS 2010, так и с VS 2015, тогда вы должны создать два проекта/файлы решений, по одному для каждого. Вы также можете прочитать эту статью для некоторых заметок о написании кода, который может быть создан с несколькими инструментами Visual С++, что опять-таки особенно сложно из-за Изменения в SDK Windows.

VS 2015 поддерживает таргетинг на Windows Vista с пакетом обновления 2 (SP2), Windows 7 с пакетом обновления 1 (SP1), Windows 8.0, Windows 8.1, Windows 10 и Windows XP SP3. Он не поддерживает таргетинг на Windows Vista RTM, Windows Vista SP1 или Windows 7 RTM.