Общие сведения о настройке целевой платформы
В 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 и набора средств платформы).
В обозревателе решений правой кнопкой мыши откройте контекстное меню проекта, в который необходимо внести изменения, и выберите Свойства.
В левом столбце окна Свойства перейдите на вкладку Приложение.
Примечание.
После создания приложения UWP невозможно изменить целевую версию Windows или .NET.
В списке Целевая рабочая среда выберите требуемую версию.
В открывшемся диалоговом окне проверки нажмите кнопку Да.
Проект будет выгружен. При его перезагрузке он будет ориентирован на выбранную версию .NET.
В обозревателе решений правой кнопкой мыши откройте контекстное меню проекта, в который необходимо внести изменения, и выберите Свойства.
В левом столбце окна Свойства перейдите на вкладку Приложение.
Примечание.
После создания приложения UWP невозможно изменить целевую версию Windows или .NET.
В списке Целевая рабочая среда выберите требуемую версию.
Для проекта платформа .NET Framework появится диалоговое окно, похожее на следующий снимок экрана:
Для проекта .NET диалоговое окно может выглядеть примерно так:
Если появится диалоговое окно проверки, нажмите кнопку Да.
Проект будет выгружен. При его перезагрузке он будет ориентирован на выбранную версию .NET.
Примечание.
Если код содержит ссылки на другую версию .NET, отличную от целевой, при компиляции и запуске кода могут появиться сообщения об ошибках. Чтобы устранить эти ошибки, измените ссылки. См. раздел Устранение неполадок, связанных с настройкой для определенных версий платформы .NET.
Совет
В зависимости от целевой платформы ее можно представить в файле проекта следующим образом:
- Для приложения .NET Core:
<TargetFramework>netcoreapp2.1</TargetFramework>
- Для приложения .NET Standard:
<TargetFramework>netstandard2.0</TargetFramework>
- Для приложения .NET Framework:
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
Выбор целевой версии платформы
При создании проекта .NET Framework выберите целевую версию .NET Framework после выбора шаблона проекта. Список доступных платформ включает их установленные версии, соответствующие типу выбранного шаблона. Для шаблонов проектов, отличных от .NET Framework, например шаблонов .NET Core, раскрывающийся список Платформа не отображается.
Если вы решили создать проект платформа .NET Framework, вы увидите интерфейс, аналогичный следующему снимку экрана:
Если вы решили создать проект .NET, вы увидите пользовательский интерфейс, аналогичный приведенным ниже двум снимкам экрана.
На первом экране вы увидите диалоговое окно Настройка нового проекта.
На втором экране появится диалоговое окно Дополнительные параметры.
Разрешение системных ссылок и пользовательских ссылок на сборки
Чтобы нацелиться на определенную версию .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.