Выпуски и поддержка .NET (.NET 5+ и .NET Core)
Корпорация Майкрософт предоставляет основные выпуски, дополнительные выпуски и сервисные обновления (исправления) для .NET 5 (и .NET Core) и более поздних версий. В этой статье описываются типы выпусков, сервисные обновления, диапазоны функций пакета SDK, периоды поддержки и варианты поддержки.
Типы выпусков
Сведения о типе каждого выпуска закодированы в номере версии в формате основной.дополнительный.исправление.
Пример:
- .NET 6 и .NET 7 являются основными выпусками.
- .NET Core 3.1 — это первый дополнительный выпуск после основного выпуска .NET Core 3.0.
- .NET Core 5.0.15 является пятнадцатым исправлением для .NET 5.
Основные выпуски
Основные выпуски включают новые функции, контактные зоны нового общедоступного API и исправления ошибок. Примеры: .NET 6 и .NET 7. Ввиду характера изменений эти выпуски должны включать критически важные изменения. Основные выпуски устанавливаются параллельно с предыдущими основными выпусками.
Дополнительные выпуски
Дополнительные выпуски также включают новые функции, контактные зоны общедоступных API и исправления ошибок, а также могут включать критически важные изменения. Например, .NET Core 3.1. Разница между этими и основными выпусками заключается в том, что важность изменений ниже. Важность обновления приложения с .NET Core 3.0 до 3.1 ниже важности перехода на следующую версию. Дополнительные выпуски устанавливаются параллельно с предыдущими дополнительными выпусками.
Сервисные обновления
Сервисные обновления (исправления) выпускаются почти каждый месяц, и эти обновления включают исправления ошибок в системе безопасности, а также исправления, не связанные с безопасностью. Например, .NET 5.0.8 был восьмым обновлением для .NET 5. Когда эти обновления включают исправления для системы безопасности, они выпускаются в "день установки исправлений", который всегда приходится на второй вторник месяца. Сервисные обновления должны обеспечивать совместимость. Начиная с .NET Core 3.1 сервисные обновления — это обновления, которые удаляют предыдущее обновление. Например, последнее сервисное обновление для 3.1 после успешной установки удаляет предыдущее обновление 3.1.
Пакеты функций (только для пакетов SDK)
Управление версиями для пакетов SDK для .NET работает немного иначе, чем для среды выполнения .NET. Для обеспечения соответствия новым выпускам Visual Studio обновления пакета SDK для .NET иногда содержат новые функции или новые версии таких компонентов, как MSBuild и NuGet. Эти новые функции или компоненты могут быть несовместимы с версиями, поставляемыми в предыдущих обновлениях пакета SDK для той же основной или дополнительной версии.
Для различения таких обновлений пакет SDK для .NET использует концепцию пакетов функций. Например, первым пакетом SDK для .NET 5 был 5.0.100. Этот выпуск соответствует диапазону функций 3.1.1xx. Пакеты функций определяют сотни в обозначении исправления в номере версии (три последних цифры). Например, версии 5.0.101 и 5.0.201 являются версиями в двух разных диапазонах функций, а версии 5.0.101 и 5.0.199 находятся в одном и том же диапазоне функций. При установке пакета SDK для .NET 5.0.101 пакет SDK для .NET 5.1.100 удаляется с компьютера, если он существует. Если пакет SDK для .NET версии 5.0.200 установлен на том же компьютере, пакет SDK для .NET версии 5.0.101 не удаляется.
Накат и совместимость среды выполнения
Основные и дополнительные обновления устанавливаются параллельно с предыдущими версиями. Приложение, созданное для конкретной основной.дополнительной версии, по-прежнему будет использовать эту целевую среду выполнения, даже если установлена более новая версия. Приложение не выполняет автоматический накат для использования более новой основной.дополнительной версии среды выполнения, если только вы не выберете это поведение. Приложение, разработанное для .NET Core 3.0, не запускается автоматически с .NET Core 3.1. Перед развертыванием в рабочей среде рекомендуется перестроить приложение и выполнить тестирование на соответствие более новой основной или дополнительной версии среды выполнения. Дополнительные сведения см. в статьях Накат платформозависимых приложений и Обновление версии среды выполнения автономного развертывания.
Сервисные обновления обрабатываются иначе, чем основные и дополнительные выпуски. Приложение, созданное для .NET 5.0.0, по умолчанию выполняется в среде выполнения 5.0.0. При установке этого сервисного обновления автоматически выполняется накат для использования более новой среды выполнения 5.0.1. Это поведение используется по умолчанию, поскольку требуется, чтобы исправления для системы безопасности использовались сразу после установки без каких-либо других действий. Можно отказаться от такого поведения наката по умолчанию.
Жизненные циклы версий .NET
.NET Core, а также .NET 5 и более поздних версий применяют современный жизненный цикл, а не фиксированный жизненный цикл, который использовался для выпусков .NET Framework. Продукты с фиксированным жизненным циклом предоставляют постоянный фиксированный период поддержки, например 5 лет основной поддержки и еще 5 лет расширенной поддержки. Основная поддержка включает в себя исправления для системы безопасности и исправления, не связанные с безопасностью, а в рамках расширенной поддержки предоставляются только исправления для системы безопасности. Модель поддержки продуктов, которые используют современный жизненный цикл, более ориентирована на обслуживание, с более короткими периодами поддержки и более частыми выпусками.
Программы выпуска
Существует две программы поддержки для выпусков:
Выпуски краткосрочной поддержки (STS)
Эти версии поддерживаются в течение максимум шести месяцев после выпуска следующей основной или дополнительной версии. Ранее (в .NET Core 3.0 и более ранних версиях) эти выпуски поддерживались только в течение трех месяцев после выпуска следующей основной или дополнительной версии.
Пример
- Платформа .NET Core 3.0 была выпущена в сентябре 2019 г., за ней следует .NET Core 3.1 в декабре 2019 г.
- Поддержка .NET Core 3.0 закончилась в марте 2020 г., через 3 месяца после выпуска версии 3.1.
- .NET 5 — это выпуск службы sts, выпущенный в ноябре 2020 г. Он поддерживался в течение 18 месяцев, до мая 2022 года.
- .NET 7 — это выпуск STS, выпущенный в ноябре 2022 г. Она поддерживается в течение 18 месяцев, до мая 2024 года.
Выпуски с долгосрочным предоставлением поддержки (LTS)
Эти версии поддерживаются не менее 3 лет или 1 год после следующего выпуска LTS, если дата будет позже.
Пример
- .NET Core 3.1 — это выпуск LTS, выпущенный в декабре 2019 г. Он поддерживался в течение 3 лет, до декабря 2022 года.
- .NET 6 — это выпуск LTS, выпущенный в ноябре 2021 г. Он поддерживается в течение 3 лет, до ноября 2024 года.
Выпуски чередуются между LTS и STS, поэтому более ранний выпуск может поддерживаться дольше, чем более поздний выпуск. Например, .NET Core 3.1 был выпуском LTS с поддержкой до декабря 2022 г. Выпуск .NET 5 был выпущен почти год спустя, но вышел из поддержки ранее, в мае 2022 г.
Сервисные обновления поставляются ежемесячно и включают как исправления для системы безопасности, так и исправления, не связанные с безопасностью (надежность, совместимость и стабильность). Сервисные обновления поддерживаются, пока не будет выпущено следующее сервисное обновление. Для сервисных обновлений характерен накат среды выполнения. Это означает, что приложения по умолчанию выполняются с последней установленной версией сервисного обновления для среды выполнения.
Выбор выпуска
Если вы создаете службу и планируете регулярно обновлять ее, то выпуск службы sts, такой как .NET 7, может быть лучшим вариантом для обновления последних возможностей .NET.
Если вы создаете клиентское приложение, которое будет распространяться пользователям, стабильность может оказаться важнее, чем доступ к новейшим функциям. Может потребоваться поддержка приложения в течение определенного периода времени, по истечении которого пользователь может выполнить обновление до следующей версии приложения. В этом случае выпуск LTS, такой как .NET 6, может быть правильным вариантом.
Поддержка сервисных обновлений
Сервисные обновления .NET поддерживаются, пока не будет выпущено следующее сервисное обновление. Периодичность выпуска — ежемесячно.
Необходимо регулярно устанавливать сервисные обновления, чтобы гарантировать, что ваши приложения защищены и находятся в поддерживаемом состоянии. Например, если последнее обновление для .NET 5 — 5.0.8 и мы поставляем 5.0.9, то 5.0.8 больше не является последним. Поддерживаемый уровень обслуживания для .NET 5 — 5.0.9.
Сведения об актуальных сервисных обновлениях для каждой основной и дополнительной версий см. на странице загрузки .NET.
Дата окончания поддержки
Дата окончания поддержки — это дата, после которой корпорация Майкрософт больше не предоставляет исправления, обновления или техническую поддержку для версии продукта. До этой даты следует перейти на использование поддерживаемой версии. Версии, которые не поддерживаются, больше не получают обновления для системы безопасности, защищающие приложения и данные.
Поддерживаемые операционные системы
.NET 5 (и .NET Core) и более поздние версии могут работать в различных операционных системах. Каждая из этих операционных систем имеет жизненный цикл, определенный ее спонсорской организацией (например, Майкрософт, Red Hat или Apple). Эти расписания жизненных циклов следует учитывать при добавлении и удалении поддержки версий операционной системы.
Если версия операционной системы выходит за пределы поддержки, мы прекращаем тестирование этой версии и предоставляем поддержку этой версии. Для получения поддержки пользователям необходимо перейти на поддерживаемую версию операционной системы.
Дополнительные сведения см. в статье Политика поддержки операционных систем .NET.
Техническая поддержка
У вас есть возможность выбрать между технической поддержкой Майкрософт и поддержкой сообщества.
Служба поддержки Майкрософт
Для получения технической поддержки обратитесь к специалисту службы технической поддержки Майкрософт.
Чтобы получить поддержку, требуется поддерживаемый уровень обслуживания (последнее доступное сервисное обновление). Если система работает под управлением .NET 5 и выпущено обновление обслуживания 5.0.8, в качестве первого шага необходимо установить версию 5.0.8.
Поддержка сообщества
Сведения о поддержке сообщества см. на странице сообщества.
См. также раздел
Дополнительные сведения, включая поддерживаемые диапазоны дат для каждой версии .NET, см. в разделе Политика поддержки.