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

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

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

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

Например, версия 7.0.203 поставляется с .NET 7, является вторым дополнительным выпуском Visual Studio с 7.0.100 впервые и является третьим исправлением с 7.0.200.

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

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

Версия пакета 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.1xx 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 Ноябрь '21 Ноябрь 241
6.0.2xx 17.1 Февраль '22 Май '22
6.0.3xx 17.23 Май '22 Октябрь 23
6.0.4xx 17.3 22 августа Ноябрь 242
7.0.1xx 17.4 Ноябрь '22 24мая 1
7.0.2xx 17.53 Февраль '23 23 мая
7.0.3xx 17.6 23 мая Май '24
7.0.4xx 17,7 Август 23 24мая 2
8.0.1xx 17.8 Ноябрь '23 Подлежит уточнению
8.0.2xx 17.93 Февраль '24 Подлежит уточнению
8.0.3xx 17.10 Май '24 Подлежит уточнению

Примечание.

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

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

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

3 6.0.300, 7.0.200 и 8.0.200 требуют более новых версий Visual Studio. Дополнительные сведения см. в правилах поддержки.

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

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

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

Начиная с пакета SDK для .NET 7.0.100 и пакета SDK для .NET версии 6.0.300, политика была введена в действие относительно версий 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 Max TargetFramework in
минимальная версия Visual Studio
Max TargetFramework in dotnet
6.0.100 17,0 16.11 Net5.0 Net6.0
6.0.200 17.1 17,0 Net6.0 Net6.0
6.0.300 17,2 17,0 Net6.0 Net6.0
6.0.400 17.3 17,0 Net6.0 Net6.0
7.0.100 17.4 17.3 Net6.0 Net7.0
7.0.200 17,5 17.4 Net7.0 Net7.0
7.0.300 17.6 17.41 Net7.0 Net7.0
7.0.400 17,7 17.4 Net7.0 Net7.0
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

Примечание.

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

1 Критическое изменение в версии 7.0.300 для Blazor и Razor для разработки требует Visual Studio версии 17.6 или более поздней. Дополнительные сведения см. в статье dotnet/razor issue 8718.

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

Предварительная версия

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

Предварительная версия пакета SDK Версия Visual Studio
9.0.100 Preview 1 17.10 Предварительная версия 1
9.0.100 Preview 2 17.10 Предварительная версия 2
9.0.100 Preview 3 17.10 Предварительная версия 3

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