Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Управление версиями пакета 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
Правила нацеливания и поддержки
Следующая политика определяет, в каких версиях 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 |