Как изменить целевую платформу visual studio 2019
Перейти к содержимому

Как изменить целевую платформу visual studio 2019

  • автор:

Практическое руководство. Изменение требуемой версии .NET Framework и набора средств платформы

Файл проекта Visual Studio C++ можно изменить, чтобы указать другие версии набора инструментов платформы C++. Также можно указать другие версии Windows SDK и .NET Framework. (Изменить версию .NET Framework можно только для проектов C++/CLI). В новом проекте используется платформа .NET Framework по умолчанию и набор инструментов версии Visual Studio, используемой для создания проекта. Все эти значения можно изменить в файле VCXPROJ, чтобы использовать одну и ту же базу кода для каждого целевого объекта компиляции.

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

Набор инструментов платформы состоит из компилятора C++ (cl.exe) и компоновщика (link.exe) вместе со стандартными библиотеками C/C++. Studio 2015, Visual Studio 2017 и Visual Studio 2019 совместимы на уровне двоичного кода. Об этом свидетельствует основной номер версии набора инструментов, который остался равным 14. Проекты, скомпилированные в Visual Studio 2019 или Visual Studio 2017 обратно совместимы на уровне ABI с проектами, скомпилированными в Visual Studio 2017 или Visual Studio 2015. Дополнительный номер версии обновляется на 1 для каждой версии с выпуска Visual Studio 2015:

  • Visual Studio 2015: v140
  • Visual Studio 2017: v141
  • Visual Studio 2019: v142
  • Visual Studio 2022: v143

Эти наборы инструментов поддерживают .NET Framework 4.5 и более поздних версий.

Visual Studio также поддерживает настройку для различных версий для проектов C++. Вы можете использовать последнюю версию интегрированной среды разработки Visual Studio для редактирования и сборки проектов, созданных в более ранних версиях Visual Studio. При этом не требуется обновлять проект, чтобы в нем использовалась новая версия набора инструментов. На компьютере должны быть установлены более ранние версии наборов инструментов. Дополнительные сведения см. в разделе Использование собственной настройки для использования различных версий в Visual Studio. Например, в Visual Studio 2015 можно выбрать .NET Framework 2.0 в качестве целевой платформы, но необходимо использовать более раннюю версию набора инструментов, поддерживающую .NET Framework 2.0.

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

При изменении целевой версии платформы одновременно изменяется набор инструментов платформы для обеспечения поддержки этой версии. Например, при выборе .NET Framework 4.5 в качестве целевой платформы необходимо использовать совместимый набор инструментов платформы. Эти наборы инструментов включают Visual Studio 2015 (версия 140), Visual Studio 2013 (версия 120) или Visual Studio 2012 (версия 110). При выборе .NET Framework 2.0, 3.0, 3.5 и 4 в качестве целевой платформы можно использовать пакет SDK для Windows 7.1.

Создавая пользовательские наборы инструментов платформы, можно расширить поддержку целевой платформы. Дополнительные сведения см. в блоге по Visual C++ Нативное многоплатформенное нацеливание в C++ .

Изменение требуемой версии .NET Framework

  1. В обозревателе решенийVisual Studio выберите проект. В строке меню откройте меню Проект и выберите Выгрузить проект. Это выгружает файл проекта (VCXPROJ) для вашего проекта.

Примечание. Проект на языке C++ не может быть загружен, пока вы редактируете файл проекта в Visual Studio. Однако можно использовать другой редактор, например блокнот, чтобы изменить файл проекта, пока проект загружен в Visual Studio. Visual Studio определяет, что файл проекта был изменен и отображает запрос о необходимости перезагрузить проект.

Изменение набора инструментов платформы

  1. В строке меню Visual Studio выберите Проект>Свойства, чтобы открыть диалоговое окно Страницы свойств для вашего проекта.
  2. В верхней части диалогового окна Страницы свойств в раскрывающемся списке Конфигурация выберите Все конфигурации.
  3. В диалоговом окне выберите страницу свойств Свойства конфигурации>Общие.
  4. На странице свойств щелкните Набор инструментов платформы и выберите необходимый набор инструментов из раскрывающегося списка. Например, если вы установили набор инструментов Visual Studio 2010, выберите Visual Studio 2010 (версия 100) для использования в проекте.
  5. Чтобы сохранить внесенные изменения, нажмите кнопку OK.

Настройка целевых платформ в проектах

Visual Studio позволяет настроить сборки приложений для различных платформ (архитектур процессоров), включая Arm64 и другие платформы. Для сборки для этой целевой платформы не требуется запускать Visual Studio. Дополнительные сведения о поддержке Arm64 в Visual Studio см . в Visual Studio на устройствах с поддержкой ARM. 64-разрядная поддержка платформы для разработки .NET см . в 64-разрядных приложениях.

Visual Studio 2022 выполняется как 64-разрядное приложение. Она совершенно отделена от платформ, которые можно выбрать для проектов в Visual Studio. Вы можете использовать любую версию Visual Studio, предназначенную для 32-разрядных и 64-разрядных платформ.

Visual Studio позволяет настроить сборки приложения для различных платформ (архитектур процессоров), таких как x86 и x64. 64-разрядная поддержка платформы для разработки .NET см . в 64-разрядных приложениях.

Visual Studio выполняется как 32-разрядное приложение. Она совершенно отделена от платформ, которые можно выбрать для проектов в Visual Studio. Вы можете использовать любую версию Visual Studio, предназначенную для 32-разрядных и 64-разрядных платформ.

Нацеливание на платформы с помощью диспетчера конфигураций

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

Чтобы нацелиться на некоторые платформы в собственном проекте C++, необходимо установить средства сборки для платформы. Средства сборки C++ для платформ x86 и x64 устанавливаются с рабочей нагрузкой C++ по умолчанию. Если вы используете другую архитектуру процессора, например Arm64, необходимо использовать Visual Studio Installer для установки средств сборки для платформы, прежде чем продолжить. См. раздел Изменение Visual Studio. Вам не нужно запускать Visual Studio на устройстве Arm64 для целевого объекта Arm64. Для Arm64 можно установить средства сборки Arm64 или ARM64EC средства сборки; см. статью Arm64 Visual Studio.

Для разработки .NET требуется .NET 6 или более поздней версии для целевой платформы Arm64. См. сведения о поддержке .NET для macOS 11 и Windows 11 для Arm64 и x64.

Настройка проекта для целевой платформы Arm64 и других платформ

Screenshot showing choosing a new platform.

  1. В строке меню последовательно выберите пункты Сборка>Диспетчер конфигураций.
  2. В списке платформы активных решений выберите платформу для целевого решения и нажмите кнопку «Закрыть «.
    1. Если нужная платформа не отображается в списке Активная платформа решения, выберите Создать. После установки средств для определенной платформы вы сможете добавить новое решение и конфигурации проекта, предназначенные для этой платформы. Откроется диалоговое окно Создание платформы решения.
    2. Введите или выберите новый список платформ, выберите нужную платформу (архитектуру процессора); например ARM64 .

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

    Screenshot showing the new solution platform and project platform

    Настройка проекта для целевой платформы

    1. В строке меню последовательно выберите пункты Сборка>Диспетчер конфигураций.
    2. В списке платформы активных решений выберите платформу для целевого решения и нажмите кнопку «Закрыть «.
      1. Если нужная платформа не отображается в списке Активная платформа решения, выберите Создать. После установки средств для определенной платформы вы сможете добавить новое решение и конфигурации проекта, предназначенные для этой платформы. Откроется диалоговое окно Создание платформы решения.
      2. Введите или выберите новый список платформ, выберите нужную платформу (архитектуру процессора); например x64 .

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

      Screenshot showing solution platform and project platform

      Имя платформы Win32 используется для проектов C++ и соответствует x86. Visual Studio поддерживает платформы уровня проекта и платформы уровня решения. При этом платформы проекта основаны на системах проектов для разных языков. Проекты C++ используют Win32 и x64, а платформы решения — x86 и x64. Когда вы выбираете x86 в качестве конфигурации решения, Visual Studio выбирает для проектов C++ платформу Win32. Чтобы просмотреть параметры платформы уровня проекта и платформы уровня решения, откройте Configuration Manager и обратите внимание на два параметра платформы. Платформа уровня решения отображается в раскрывающемся списке Активная платформа решения, а платформа уровня проекта показана в таблице для каждого проекта.

      Целевые платформы в пользовательском интерфейсе конструктора проектов или свойств проекта

      Пользовательский интерфейс конструктора проектов или свойств проекта также предоставляет способ нацеливать различные платформы в проекте. Если выбор одной из платформ, включенных в список в диалоговом окне «Новая платформа решения», не работает для решения, можно создать пользовательское имя конфигурации и изменить параметры в свойствах проекта, чтобы нацелиться на правильную платформу.

      Выполнение этой задачи зависит от используемого языка программирования. Дополнительные сведения см. по следующим ссылкам:

      • Для проектов Visual Basic см. раздел /platform (Visual Basic).
      • Для проектов C# см. статью Страница «Сборка», конструктор проектов (C#).

      Изменение файла проекта вручную

      Иногда необходимо вручную изменить файл проекта, чтобы выполнить ряд пользовательских настроек. Например, если у вас есть условия, которые не могут быть указаны в интегрированной среде разработки, например ссылка, которая отличается для двух разных платформ, или сборка, которая должна быть зарегистрирована для конкретной платформы, чтобы предоставить ее COM. Средство, обрабатывающее файл проекта, — MSBuild.

      Не рекомендуется вручную редактировать файл проекта C++, который вы используете в Visual Studio.

      Регистрация COM

      Если вы создаете сборку .NET и предоставляете ее com, Visual Studio регистрирует сборку с определенной архитектурой платформы, так как для каждой архитектуры платформы существуют разные расположения реестра (например, x86 и x64 ). Если сборка уже нацелена на определенную платформу, то используется, но если вы регистрируете сборку .NET, созданную для Any CPU , MSBuild по умолчанию регистрирует ее для текущей среды выполнения MSBuild. Если вы создаете в Visual Studio, это x64 в Visual Studio 2022 и более поздних версий, а также x86 в Visual Studio 2019 и более ранних версий. Если вы задаете архитектуру платформы с помощью методов, описанных ранее в этой статье, или укажите другой PlatformTarget в файле проекта, MSBuild будет учитывать это при регистрации. Существует свойство, которое можно задать для переопределения этого поведения. RegisterAssemblyMSBuildArchitecture Вы можете задать RegisterAssemblyMSBuildArchitecture нужную архитектуру платформы (например x86 , или x64 ) путем добавления его в элемент верхнего уровня PropertyGroup в файле проекта.

      Ссылки на сборки x86 и x64 и библиотеки DLL

      У вас может быть сборка .NET или библиотека DLL с версиями x86 и x64. Чтобы настроить проект для использования этих ссылок, сначала добавьте ссылку, а затем откройте файл проекта и измените его, чтобы добавить ItemGroup с условием, которое ссылается как на конфигурацию, так и на целевую платформу. Например, предположим, что двоичный файл, на который вы ссылаетесь, — ClassLibrary1, и существуют разные пути для конфигураций отладки и выпуска, а также версий x86 и x64. Используйте четыре элемента ItemGroup со всеми сочетаниями параметров, как показано далее:

        Exe netcoreapp2.0 AnyCPU;x64;x86   ..\..\ClassLibrary1\ClassLibrary1\bin\x64\Debug\netstandard2.0\ClassLibrary1.dll    ..\..\ClassLibrary1\ClassLibrary1\bin\x64\Release\netstandard2.0\ClassLibrary1.dll    ..\..\ClassLibrary1\ClassLibrary1\bin\x86\Debug\netstandard2.0\ClassLibrary1.dll    ..\..\ClassLibrary1\ClassLibrary1\bin\x86\Release\netstandard2.0\ClassLibrary1.dll    

      Дополнительные сведения о файле проекта см. в статье Справочные сведения о схеме файлов проектов MSBuild.

      Связанный контент

      • /platform (параметры компилятора C#)
      • 64-разрядные приложения
      • Поддержка 64-разрядных сред IDE Visual Studio
      • Общие сведения о файле проекта

      Общие сведения о настройке целевой платформы

      В Visual Studio можно указать версию платформы .NET, на которую будет ориентироваться проект. Нацеливание на платформу помогает гарантировать, что приложение использует только те функциональные возможности, которые доступны в указанной версии платформы. Для запуска приложений .NET Framework на другом компьютере версия платформы для такого приложения должна быть совместима с версией платформы, установленной на компьютере.

      Решение Visual Studio может содержать проекты, предназначенные для различных версий .NET. Обратите внимание, что вы можете выполнить сборку только для одной версии .NET с помощью условий ссылок для одной сборки или рекурсивно создавать разные двоичные файлы для каждой версии. Дополнительные сведения о требуемых версиях .NET Framework см. в разделе Целевые платформы.

      Вы также можете нацеливать приложения на различные платформы. Дополнительные сведения см. в разделе Настройка для различных версий.

      Функции нацеливания на платформу

      Среди прочего, доступны следующие возможности нацеливания на платформу:

      • При открытии проекта, который ориентирован на более раннюю версию платформы, Visual Studio может автоматически обновить его или оставить имеющуюся настройку.
      • При создании проекта .NET Framework можно указать версию платформы .NET Framework, на которую требуется ориентироваться.
      • Вы можете ориентироваться на несколько платформ в одном проекте.
      • В каждом из нескольких проектов в одном решении можно ориентироваться на разные версии .NET.
      • Можно изменить версию .NET, на которую ориентирован существующий проект. При изменении версии платформы .NET, на которую сориентирован проект, Visual Studio вносит все необходимые изменения в ссылки и файлы конфигурации.

      При работе над проектом, ориентированным на более раннюю версию платформы, Visual Studio динамически изменяет среду разработки, как показано ниже:

      • Он фильтрует элементы в диалоговом окне «Добавление нового элемента«, диалоговое окно «Добавить новую ссылку» и диалоговое окно «Добавить ссылку на службу», чтобы опустить варианты, недоступные в целевой версии.
      • Он фильтрует пользовательские элементы управления на панели элементов , чтобы удалить те, которые недоступны в целевой версии, и показывать только самые актуальные элементы управления, если доступны несколько элементов управления.
      • Фильтрует IntelliSense, чтобы пропустить языковые функции, которые недоступны в целевой версии.
      • Фильтрует свойства в окне Свойства, чтобы пропустить те, которые недоступны в целевой версии.
      • Фильтрует пункты меню, чтобы пропустить те, которые недоступны в целевой версии.
      • Для сборок система использует версию и параметры компилятора, которые подходят для целевой версии.
      • Нацеливание на платформу не гарантирует правильную работу приложения. Нужно протестировать приложение, чтобы убедиться в том, что оно работает с целевой версией.
      • Ориентироваться на версии платформы, предшествующие .NET Framework 2.0, запрещено.

      Изменение требуемой версии .NET Framework

      Для существующего проекта Visual Basic, C# или F# вы можете изменить целевую версию .NET в диалоговом окне свойств проекта. Сведения об изменении целевой версии для проектов C++ см. в статье How to: Modify the Target Framework and Platform Toolset (Практическое руководство. Изменение требуемой версии .NET Framework и набора средств платформы).

      Project properties Application tab

      1. В обозревателе решений правой кнопкой мыши откройте контекстное меню проекта, в который необходимо внести изменения, и выберите Свойства.
      2. В левом столбце окна Свойства перейдите на вкладку Приложение.

      Примечание. После создания приложения UWP невозможно изменить целевую версию Windows или .NET.

      1. В обозревателе решений правой кнопкой мыши откройте контекстное меню проекта, в который необходимо внести изменения, и выберите Свойства.
      2. В левом столбце окна Свойства перейдите на вкладку Приложение.

      Примечание. После создания приложения UWP невозможно изменить целевую версию Windows или .NET.

    3. В списке Целевая рабочая среда выберите требуемую версию. Для проекта платформа .NET Framework появится диалоговое окно, похожее на следующий снимок экрана: Screenshot of the Project Properties dialog with .NET Framework options highlighted.Для проекта .NET диалоговое окно может выглядеть примерно так: Screenshot of the General tab in the Project Properties dialog box, with the
    4. Если появится диалоговое окно проверки, нажмите кнопку Да. Проект будет выгружен. При его перезагрузке он будет ориентирован на выбранную версию .NET.

    Если код содержит ссылки на другую версию .NET, отличную от целевой, при компиляции и запуске кода могут появиться сообщения об ошибках. Чтобы устранить эти ошибки, измените ссылки. См. раздел Устранение неполадок, связанных с настройкой для определенных версий платформы .NET.

    В зависимости от целевой платформы ее можно представить в файле проекта следующим образом:

    Выбор целевой версии платформы

    При создании проекта .NET Framework выберите целевую версию .NET Framework после выбора шаблона проекта. Список доступных платформ включает их установленные версии, соответствующие типу выбранного шаблона. Для шаблонов проектов, отличных от .NET Framework, например шаблонов .NET Core, раскрывающийся список Платформа не отображается.

    Screenshot of Framework dropdown in Visual Studio 2019.

    Если вы решили создать проект платформа .NET Framework, вы увидите интерфейс, аналогичный следующему снимку экрана:

    Screenshot of the Framework drop-down list in Visual Studio 2022.

    Если вы решили создать проект .NET, вы увидите пользовательский интерфейс, аналогичный приведенным ниже двум снимкам экрана.

    На первом экране вы увидите диалоговое окно Настройка нового проекта.

    Screenshot of the

    На втором экране появится диалоговое окно Дополнительные параметры.

    Screenshot of the

    Разрешение системных ссылок и пользовательских ссылок на сборки

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

    Для проектов платформа .NET Framework диалоговое окно «Добавить ссылку« отключает системные сборки, которые не относятся к целевой платформа .NET Framework версии, чтобы они не могли быть непреднамеренно добавлены в проект. (Системные сборки — это DLL-файлы, включенные в версию платформа .NET Framework.) Ссылки, принадлежащие версии платформы, которая выше целевой версии, не будут разрешаться, и элементы управления, зависящие от такой ссылки, не могут быть добавлены. Если вы хотите активировать такую ссылку, измените целевую версию платформы .NET Framework для проекта на ту, которая содержит эту ссылку.

    Дополнительные сведения о ссылках на сборки см. в разделе Разрешение сборок во время разработки.

    Включение LINQ

    При нацеливании на .NET Framework 3.5 или более поздней версии ссылка на System.Core и импорт уровня проекта для System.Linq (только в Visual Basic) добавляются автоматически. Если вы хотите использовать функции LINQ, нужно также включить параметр Option Infer (только в Visual Basic). Ссылка и импорт удаляются автоматически при изменении целевой версии на более раннюю версию .NET Framework. Дополнительные сведения см. в разделе Работа с LINQ.

    См. также

    • Целевые платформы
    • Многоплатформенное нацеливание (MSBuild)
    • Практическое руководство. Изменение требуемой версии .NET Framework и набора средств платформы (C++)

    Как в VisualStudio установить средства сборки v142?

    Ошибка MSBuild MSB8020
    Не удалось найти средства сборки для v142 (набор средств платформы = «v142»). Чтобы выполнить сборку с помощью версии v142 средств сборки, установите средства сборки v142. Также можно выполнить обновление до текущих средств Visual Studio, выбрав меню «Проект» или щелкнув правой кнопкой мыши решение, а затем выбрав «Изменить целевую платформу решения».

    5d05edda0ab7e841437481.jpeg

    При нажатии на «Изменить целевую платформу решения» появляется это окно. Но при изменении версии пакета ничего не меняется. Ошибка остаётся.

    Подскажите, пожалуйста, что делать?

    • Вопрос задан более трёх лет назад
    • 19731 просмотр

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *