Поменять версию sdk visual studio

Обновлено: 05.07.2024

В наше время open source проекты все популярнее. На площадках открытых проектов, например, на github можно найти множество полезных программ, но они не всегда имеют исполняемые файлы ("exe"), поэтому я постараюсь рассказать о том, как можно собрать самостоятельно C/C++ программу, из исходников, написанную на Microsoft Visual Studio.

Первым делом нам необходимо загрузить онлайн установщик Microsoft Visual Studio, с официального сайта. Для компиляции С/С++ проектов нет необходимости во всех пакетах и можно выбрать только те, которые нам необходимы.

Установщик загрузит необходимые пакеты из интернета и установит их.

После установки Visual Studio можно убедиться, что всё работает создав тестовый проект и скомпилировав его. Для этого нажмите в меню "Файл" → "Создать" → "Проект. "

После чего появится диалог выбора типа проекта, где можно выбрать:

  • Консольное приложение;
  • Классическое приложение;
  • Библиотеку динамической компоновки (dll);
  • Статическую библиотеку;

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

После этого остается остается лишь скомпилировать её, для этого нужно выбрать в меню "Сборка" и нажать на пункт "Собрать решение".

Далее наш проект скомпилируется и в папке проекта появится наш тестовый исполняемый файл ("exe").

Если всё работает как надо, то можно приступать к сборке какого-нибудь другого открытого проекта с github или другого хостинга проектов.

Первым делом нам нужно загрузить исходники проекта. На площадке github это делается довольно просто, жмем на кнопку "Code" и "Download ZIP". После чего нужно распаковать его и можно приступать к сборке.

Ищем файл с расширением "<название_проекта>.vcxproj" и запускаем его. Перед нами появится диалог в котором нам предложат обновить SDK проекта (набор библиотек для разработки, которые Microsoft периодически обновляет) и набор инструментов, жмём обновить.

Теперь наш проект можно собрать, но до сборки необходимо выбрать разрядность проекта (например, для 32 битной системы или 64 битной), а также тип сборки (отладочный режим - debug или release).

Выбираем 64 битную систему и тип сборки релиз, после чего компилируем проект. Как и ранее нужно выбрать в меню "Сборка" и нажать на пункт "Собрать решение".

Некоторые проектам требуется вручную изменить SDK и набор инструментов, на установленный у вас, для этого идём в свойства проекта, выбираем сверху типа сборки и разрядность системы и уже там изменяем SDK и набор инструментов. В выпадающем меню появляются установленные у нас версии, выбираем их и нажимаем "ОК". После чего наш проект скомпилируется.

Бывает, что проект использует сторонние библиотеки, для этого их нужно загрузить отдельно и положить в папку. Узнать путь или изменить его можно в свойстве проекта, в разделе "С/C++" → "Общие" → "Дополнительные каталоги включаемых файлов".

Бывает, что SDK или набор инструментов, в свойстве проекта не изменяется в диалоге, чтобы изменить их нужно записать номер SDK, закрыть Visual Studio и вручную, блокнотом изменить этот номер в файле проекта "<название_проекта>.vcxproj".

При возникновении других проблем можно попробовать их загуглить, возможно, что кто-то уже сталкивался с ними и решил их.

Спасибо за внимание.

Мы тут собрали умную камеру для наблюдения за котиками. Хотите научим?

А если нет файла .vcxproj ?

Привет, я фрилансер с четырёхлетним опытом работы графическим дизайнером и совсем недавно я открыла для себя прекрасный мир сотрудничества с коллегами. Эта практика позволяет не только передавать свои задачи более подходящим специалистам, тем самым, помогая своим клиентам, обеспечивая их кадрами, но и получать проекты своих коллег, расширяя таким…

Но сегодня я хочу рассказать не об этом. Данная практика показала мне обратную сторону фриланса и позволила побывать в роли заказчика, почувствовать всю их боль при выборе подходящего дизайнера. Поэтому сегодня я расскажу о том, на что стоит обращать внимание при выборе исполнителя для своего дизайн проекта.

Набор инструментов платформы Platform toolset

Набор инструментов платформы состоит из C++ компилятора (Cl. exe) и компоновщика (Link. exe) вместе с библиотеками C/C++ Standard. The platform toolset consists of the C++ compiler (cl.exe) and linker (link.exe), along with the C/C++ standard libraries. Начиная с версии Visual Studio 2015, основная версия набора инструментов оставалась на 14. Это означает, что проекты, скомпилированные с помощью Visual Studio 2019 или Visual Studio 2017, имеют интерфейс ABI-обратно-совместим с проектами, скомпилированными с помощью Visual Studio 2015. Since Visual Studio 2015, the major version of the toolset has remained at 14, which means that projects compiled with Visual Studio 2019 or Visual Studio 2017 are ABI-backwards-compatible with projects compiled with Visual Studio 2015. Дополнительная версия обновлена на 1 для каждой версии с момента выпуска Visual Studio 2015: The minor version has updated by 1 for each version since Visual Studio 2015:

  • Visual Studio 2015: V140 Visual Studio 2015: v140
  • Visual Studio 2017: v141 Visual Studio 2017: v141
  • Visual Studio 2019: v142 Visual Studio 2019: v142

Целевая платформаC++(только для проектов/CLI) Target framework (C++/CLI project only)

Создавая пользовательские наборы инструментов платформы, можно расширить поддержку целевой платформы. You can extend the target platform further by creating a custom platform toolset. Дополнительные сведения см. в блоге по Visual C++ Нативное многоплатформенное нацеливание в C++ . For more information, see C++ Native Multi-Targeting on the Visual C++ blog.

В обозревателе решенийVisual Studio выберите проект. In Visual Studio, in Solution Explorer, select your project. В строке меню откройте меню Проект и выберите Выгрузить проект. On the menu bar, open the Project menu and choose Unload project. Это разгружает файл проекта (VCXPROJ) для вашего проекта. This unloads the project (.vcxproj) file for your project.

Проект на языке C++ невозможно загрузить, пока в файл проекта вносятся изменения в Visual Studio. A C++ project cannot be loaded while the project file is being modified in Visual Studio. Однако можно использовать другой редактор, например блокнот, чтобы изменить файл проекта, пока проект загружен в Visual Studio. However, you can use another editor such as Notepad to modify the project file while the project is loaded in Visual Studio. Visual Studio определяет, что файл проекта был изменен и отображает запрос о необходимости перезагрузить проект. Visual Studio will detect that the project file has changed and prompt you to reload the project.

В строке меню последовательно выберите Файл, Открыть, Файл. On the menu bar, select File, Open, File. В диалоговом окне Открыть файл перейдите к папке проекта и откройте файл проекта (с расширением VCXPROJ). In the Open File dialog box, navigate to your project folder, and then open the project (.vcxproj) file.

Сохраните изменения и закройте редактор. Save the changes and close the editor.

В разделе Обозреватель решенийоткройте контекстное меню своего проекта и выберите Перезагрузить проект. In Solution Explorer, open the shortcut menu for your project and then choose Reload Project.

Изменение набора инструментов платформы To change the platform toolset

В левой области диалогового окна разверните узел Свойства конфигурации и выберите Общие. In the left pane of the dialog box, expand Configuration Properties and then select General.

В правой области щелкните элемент Набор инструментов платформы и выберите необходимый набор инструментов из раскрывающегося списка. In the right pane, select Platform Toolset and then select the toolset you want from the drop-down list. Например, если вы установили набор инструментов Visual Studio 2010, выберите Visual studio 2010 (V100) , чтобы использовать его для вашего проекта. For example, if you have installed the Visual Studio 2010 toolset, select Visual Studio 2010 (v100) to use it for your project.

Я пытаюсь создать приложение Windows с недавно установленной Visual Studio.

требуется обновление Visual Studio

для одного или нескольких проектов требуется SDK платформы (UAP, версия: 10.0.0.0), который либо не установлен, либо включен в качестве pat будущего обновления для Visual Studio. Установите SDK платформы для открытия этот проект.

когда я нажимаю кнопку Установить, я прибываю на главной странице Microsoft без какой-либо ссылки для скачивания, что бесполезно!

но как вы можете видеть на скриншоте ниже, у меня последняя версия установлена:


Создан 09 мар. 17 2017-03-09 01:08:19 AngryHacker

1 ответ

You should switch to VS2017 to use latest SDK or stick with preview2-1 to work in VS0215.

Check that you really have required SDK version in your c:program filesdotnetsdk (my installations of VS 2017 does not removed any previous sdk installed). If required, you can download any version of old SDK from here

Создан 09 мар. 17 2017-03-09 08:29:16 Dmitry


Я перенаправил решение, как было сказано, и проблема не исчезла, хотя перенацеливание было завершено. Я решил установить Visual Studio 2017 из-за этого, и, о чудо, она сделала то же самое. Я также использую окна 7.


  • 1 Правильно. Вы должны установить 8.1 SDK, прежде чем сможете его изменить.
  • 4 Sdk8.1 включен в vs2017. Я выбрал его из установщика vs2017, но все равно получаю ту же ошибку. Ретаргетинг проходит без ошибок. Что, кажется, здесь не так?
  • Судя по вашему снимку экрана, у вас уже установлена ​​версия Windows 10 SDK. Этот SDK поддерживает Windows 7 SP1 и более поздние версии, поэтому, если у вас нет особой потребности в SDK 8.1, вам, вероятно, следует просто придерживаться того, что у вас есть.

Я установил версию 8.1 SDK:

При установке использовалось 1 ГБ (чуть больше).

  • 3 это правильный ответ для пользователей VS 2019, поскольку Windows 8.1 SDK больше не существует в установщике vs

и установить. Затем щелкните правой кнопкой мыши решение -> Перенацелить, и оно скомпилируется

У меня был Win10 SDK, и мне нужно было только перенацелить, а затем я перестал получать эту ошибку. Идея заключалась в том, что проекту необходимо обновить целевой Windows SDK.

Я понимаю, что этому посту несколько лет, но я просто хотел распространить его на всех, кто все еще борется с этой проблемой.

Ни одна из вышеперечисленных попыток не устранила проблему для меня .

Наконец, что решило проблему для меня:

Я надеюсь, что это избавит кого-то еще от почти трех полных дней разочарований и потери производительности.

Установите необходимую версию Windows SDK или измените версию SDK на страницах свойств проекта.

Если вы сделаете визуальное руководство по студии, вы решите проблему.

Grep дерева папок файлов. Заменить 8.1 с 10.0 или любую другую версию SDK, которую вы получите при обновлении одного из проектов.

Шаг 1. Запуск Portability Analyzer

Запускаем Portability Analyzer и указываем расположение исходного кода проекта:

Portability Analyzer

Portability Analyzer

После этого откроется файл Excel с отчётом по проверке. У меня этот файл выглядел следующим образом:

Portability Summary

Лист Portability Summary

Шаг 2. Миграция .csproj в SDK-стиле


А вот так будет выглядеть контекстное меню проекта без пункта:







Откроется XML-файл примерно такого содержания:


Вместо только что удаленного текста вставьте следующий код необходимый для консольного приложения(здесь небольшое расхождение с первоисточником):

У меня такой блок оказался всего один, поэтом итоговый файл *.cproj стал выглядеть вот так:


Помогло удаление файла AssemblyInfo.cs


После этого проект запустился, работоспособность не нарушилась. Однако встретилась другая проблема.


Теперь необходимо добавить в проект пространство имен:

И можно пользоваться классами Point и Rect :

Читайте также: