Бөлісу құралы:


Управление версиями для .NET SDK, MSBuild и Visual Studio

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

Управление версиями

Номер версии пакета SDK для .NET использует формат major.minor.patch, в котором:

  • major.minor соответствует версии .NET, включаемой в SDK, на которой она выполняется и используется по умолчанию.
  • Сотни цифр patch идентифицируют группу признаков, например , 1xx, 2xx3xxили 4xx. Диапазон функций начинается с 1 и увеличивается с каждым ежеквартальным выпуском SDK для .NET.
  • Последние две цифры patchэто версия исправления, которая увеличивается с обновлением обслуживания каждого месяца.

Например, версия 7.0.203 поставляется с .NET 7, является вторым ежеквартальным выпуском функционального обновления после того, как впервые вышла версия 7.0.100, и это третье исправление после версии 7.0.200.

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

Начиная с Visual Studio 18.0 Visual Studio поставляет ежемесячные дополнительные версии, в то время как пакет SDK для .NET продолжает отправляться ежеквартально. Выпуски Visual Studio между квартальными выпусками пакета SDK для .NET содержат только исправления последней версии пакета SDK для .NET.

Примечание.

Пакет SDK для .NET поддерживает более ранние версии .NET, поэтому мы рекомендуем всегда обновлять его вместе с вашей версией Visual Studio.

Жизненный цикл

Срок поддержки пакета SDK, как правило, совпадает со сроком для версии Visual Studio, в которую он входит.

Развернуть, чтобы просмотреть версии .NET, переставшие поддерживаться
Версия пакета SDK Версия MSBuild/Visual Studio Дата отгрузки Жизненный цикл
2.1.5xx 15,9 ноя 18 21 августа
2.1.8xx 16.2 (без VS) 19 июля 21 августа
3.1.1xx 16.4 Дек 19 21 октября
3.1.4xx 16.7 20 августа 22 декабря
5.0.1xxx 16,8 Ноябрь '20 21 марта
5.0.2xx 16,9 21 марта Май '22
5.0.3xx 16,10 21 мая 21 августа
5.0.4xx 16.11 21 августа Май '22
6.0.1xx 17,0 Ноябрь 2021 г. Ноябрь 24
6.0.2xx 17.1 Февраль '22 Май '22
6.0.3xx 17.23 Май '22 Октябрь 23
6.0.4xx 17.3 22 августа Ноябрь 24
7.0.1xx 17.4 Ноябрь 2022 Май '24
7.0.2xx 17.53 Февраль '23 23 мая
7.0.3xx 17.6 23 мая Май '24
7.0.4xx 17,7 Август 23 Май '24

Поддерживаемые версии .NET

Версия пакета SDK Версия MSBuild/Visual Studio Дата отгрузки Жизненный цикл
8.0.1xx 17.8 Ноябрь '23 26 ноября1
8.0.2xx 17,9 Февраль '24 Май '24
8.0.3xx 17.10 Май '24 Январь '26
8.0.4xx 17,11 Август 24 26 ноября2
9.0.1xx 17.12 Ноябрь 24 26 мая
9.0.2xx 17.13 Февраль '25 25 мая
9.0.3xx 17.14 25 мая 26 ноября2
10.0.1xx 18,0 Ноябрь '25 Ноябрь 28
10.0.2xx 18.4 Мар '26 26 мая

Примечание.

1 Полосы функциональности SDK для .NET .1xx поддерживаются на протяжении всего жизненного цикла основных версий .NET. В течение расширенного периода поддержки поддержка ограничена исправлениями безопасности и минимальными исправлениями, не связанными с безопасностью, только для Linux. Дополнительные сведения об этой расширенной поддержке см. в статье о поддержке исходной сборки.

2 Последние группы функций SDK .NET основной версии поддерживаются на протяжении жизненного цикла соответствующей среды выполнения как самостоятельные установки.

Жизненный цикл Visual Studio 2026

Жизненный цикл Visual Studio 2022

Жизненный цикл Visual Studio 2019

Правила нацеливания и поддержки

Следующая политика определяет, в каких версиях MSBuild и Visual Studio будет выполняться определенная версия пакета SDK для .NET:

  • Для каждого нового TargetFramework требуется новая версия Visual Studio или новая dotnet версия.
  • Первая версия Visual Studio, поддерживающая новый TargetFramework, становится базой для функциональных групп этого пакета SDK, включая интерфейс API Roslyn, цели MSBuild, генераторы исходного кода, анализаторы и т. д.
  • Первая версия нового SDK для .NET, поддерживающая новый TargetFramework, все еще может использоваться с предыдущей версией Visual Studio, чтобы дать квартал на переход инструментов и инфраструктуры (например, шагов и пайплайнов).
Пакет SDK Версия Visual Studio
Пакет SDK поставляется с
Минимальная версия Visual Studio Максимальный TargetFramework
минимальная версия Visual Studio
Максимальная цель фреймворка в dotnet
8.0.100 17.8 17,7 Net7.0 Net8.0
8.0.200 17,9 17.8 Net8.0 Net8.0
8.0.300 17.10 17.8 Net8.0 Net8.0
8.0.400 17,11 17.8 Net8.0 Net8.0
9.0.100 17.12 17,11 Net8.0 Net9.0
9.0.200 17.13 17.12 Net9.0 Net9.0
9.0.300 17.14 17.12 Net9.0 Net9.0
10.0.100 18,0 17.14 Net9.0 Net10.0
10.0.200 18.4 18,0 Net10.0 Net10.0

Примечание.

В таблице показано, как применяются эти правила управления версиями, начиная с пакета SDK для .NET 7.0.100 и пакета SDK для .NET 6.0.300. В нем также показано, как политика применялась бы к уже отправленным версиям .NET SDK, если бы она действовала тогда. Однако требования для предыдущих версий пакета SDK не изменяются. То есть минимальная требуемая версия Visual Studio для пакета SDK для .NET 6.0.100 или 6.0.200 остается 16.10.

Целевая ориентация net8.0 официально поддерживается только в Visual Studio 17.8 и более поздних версий.

Поддержка таргетинга net9.0 официально осуществляется только в Visual Studio 17.12+.

Целевая ориентация net10.0 официально поддерживается только в Visual Studio 18.0+.

Чтобы обеспечить согласованность инструментария, следует использовать dotnet build вместо msbuild для сборки вашего приложения, когда это возможно.

Матрица поддержки SDK и Visual Studio

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

Обратная и прямая совместимость

  • Основная поддерживаемая конфигурация: используйте версию пакета SDK, связанную с установкой Visual Studio
    • Visual Studio 17.14 и .NET 9.0.3xx
    • Visual Studio 18.0 и .NET 10.0.1xx
  • Обратная совместимость. Использование последней версии пакета предыдущей версии SDK (например, 8.0.4xx в Visual Studio 17.14) поддерживается с наилучшей возможной совместимостью. Команда .NET определяет, когда следует выполнять обратные исправления на основе риска и влияния клиента. Хотя пакеты SDK старше последней версии предыдущей группы могут работать, команда .NET не тестирует их или предпринимает усилия для обеспечения совместимости.
  • Обратная совместимость: Использование более нового пакета SDK (например, пакета SDK для .NET 10 в Visual Studio 17.14) допускается без блокировки, но нацеливание на новые среды выполнения в более старых версиях Visual Studio не поддерживается и приводит к предупреждению сборки.

Руководство

Используйте пакет SDK для экземпляра Visual Studio (или последнюю версию, доступную в CI или Visual Studio Code), так как эта версия всегда имеет новейшие функции, включая обновления системы безопасности.

Поддержка целевого назначения нижнего уровня

Пакет SDK для .NET сохраняет поддержку устаревших версий .NET, которые больше не поддерживаются официально. Пакет SDK 10.0.100 может создавать приложения, рассчитанные net9.0 на полную совместимость до netcoreapp1.0.

Основные принципы

  • Существующая поддержка сохранена: целевая поддержка для версий без поддержки остается в пакете SDK без активного удаления. Клиенты, обновляющие пакет SDK или версию Visual Studio, не должны сталкиваться с проблемами в сборках просто из-за того, что они нацелены на более раннюю версию .NET.
  • Новые функции. Новые функции пакета SDK не требуются для поддержки версий без поддержки, если не исключение такой поддержки не представляет значительных затрат или рисков.
  • Исправление сбоев: если возникают проблемы при целевой поддержке версий, которые больше не поддерживаются, исправление применяется на основе затрат на исправление. Цель заключается в том, чтобы избежать нарушения работы клиентов при обновлении.

Управление предварительными версиями

Основные версии пакета SDK для .NET обычно выпускаются в течение нескольких дней после предварительной версии Visual Studio. Хотя существуют и другие сочетания, которые работают, тестируются и официально поддерживаются только последние предварительные версии. В следующей таблице показано, какая версия Visual Studio для каждой предварительной версии .NET была протестирована до выпуска.

Предварительная версия пакета SDK Версия Visual Studio
10.0.100 RC 1 18.0.0 Insiders (11010.61)
10.0.100 RC 2 18.0.0 Insiders (11111.16)
11.0.100 Preview 1 18.4.0 Insiders
11.0.100 Preview 2 18.5.0 Insiders

Справочные материалы