Услуги Портфолио Контакты БлогНовости +7 (961) 872‑20‑27 Обсудить проект
Безопасность

Microsoft прекратила поддержку .NET 8 и .NET 9: как перейти на .NET 10

10 ноября 2026·5 мин чтения
.NET 10 LTSМиграция
Microsoft прекратила поддержку .NET 8 и .NET 9: как перейти на .NET 10

10 ноября 2026 года у .NET 8 и .NET 9 закончилась поддержка. Microsoft больше не выпускает для них исправления безопасности и сервисные обновления, техподдержки по этим версиям тоже нет. Приложения продолжат запускаться, но уязвимости, найденные после этой даты, в них уже не закроют. Microsoft советует перейти на .NET 10 — LTS-версию с поддержкой до ноября 2028 года.

Затронут любой продукт на этих рантаймах: веб-API на ASP.NET Core, личные кабинеты, внутренние сервисы, фоновые воркеры. Если бэкенд вашего мобильного или веб-приложения написан на C#, переход на .NET 10 теперь входит в обычную поддержку и сопровождение приложения, а не в список «когда-нибудь потом».

Ниже — почему две версии ушли в один день, чем рискует команда, которая останется на старом рантайме, и как спланировать переход, если вы отвечаете за бэкенд и API продукта.

Почему .NET 8 и .NET 9 ушли в один день

Версии ушли одновременно, потому что начиная с .NET 9 Microsoft продлила поддержку STS-релизов с 18 до 24 месяцев. У Microsoft два типа релизов: LTS (поддержка 3 года) и STS. .NET 8 вышел 14 ноября 2023 года как LTS, и его 36 месяцев истекли сейчас. .NET 9 вышел 12 ноября 2024 года как STS и при старых 18 месяцах закончился бы в мае 2026 года. После продления дата сдвинулась на тот же день, что у .NET 8.

Поэтому у команд, которые в 2025 году «на всякий случай» обновились с .NET 8 на .NET 9, выигрыша по срокам не вышло: обе ветки закрылись одновременно. Актуальная LTS-ветка — .NET 10: она вышла 11 ноября 2025 года и поддерживается до ноября 2028 года.

Что изменилось с 10 ноября

  • Нет патчей безопасности. В анонсе Microsoft прямо сказано, что новых обновлений безопасности для обеих версий выпускаться не будет.
  • Нет сервисных обновлений и поддержки. Исправлений ошибок и помощи от Microsoft по этим версиям тоже не будет.
  • Приложения работают как раньше. Рантайм не отключается, и сервис не упадёт 11 ноября. Риск копится постепенно, с каждой новой CVE.
  • Visual Studio 2022 пометит компоненты как неподдерживаемые. Будущие обновления среды отметят компоненты .NET 8 и .NET 9 как вышедшие из поддержки; удалить их можно через функцию очистки в установщике.

Чем рискует проект на старом рантайме

Главный риск — уязвимости. В конце октября Microsoft выпускала внеплановый патч для .NET. Следующая такая CVE для .NET 8 и .NET 9 уже не выйдет, и сервис останется с открытой дырой.

Короткий цикл поддержки разработчики критикуют давно. В июне The Register приводил жалобу автора ПО: около половины развёрнутых у клиентов версий его продукта работают на рантаймах с истёкшим сроком. Издание сравнивает: у Java LTS-поддержка длится от пяти лет, у Python исправления безопасности выходят пять лет. В .NET новая LTS выходит раз в два года и живёт три, так что на переход между LTS-версиями остаётся около года.

Как перейти на .NET 10: план для команды

  1. Инвентаризация. Соберите список сервисов, библиотек и CI-образов, где указан net8.0 или net9.0. Не забудьте контейнеры и агентов сборки.
  2. Обновление целевой платформы. По инструкции Microsoft основной шаг — сменить в проектах свойство TargetFramework на net10.0 и обновить SDK в средах разработки и на хостинге.
  3. Зависимости. Обновите NuGet-пакеты до версий с поддержкой .NET 10 и найдите библиотеки, которые больше не развиваются.
  4. Регресс. Прогоните автотесты и нагрузочные сценарии на .NET 10 до выкатки. Breaking changes между мажорными версиями бывают, и лучше поймать их на стенде.
  5. Выкатка по сервисам. Переводите систему по частям, начиная с публичных API: им исправления безопасности нужнее всего.

Если кодовая база большая, а тестов мало, начните с аудита кода: он покажет устаревшие зависимости и места, где переход сломает поведение. О том, где C# и .NET уместны в веб-проектах, мы писали в обзоре языков для веб-приложений.

А что с .NET 11?

10–13 ноября проходит .NET Conf 2026, где Microsoft представляет .NET 11. Это нечётный релиз, то есть STS с поддержкой 24 месяца. Для продакшена с длинным жизненным циклом надёжнее остаться на .NET 10 LTS. .NET 11 подходит командам, которые готовы обновляться каждый год ради новых возможностей C# и рантайма.

Часто задаваемые вопросы

Перестанет ли приложение на .NET 8 работать после 10 ноября 2026 года? Нет, оно продолжит работать. Но исправлений безопасности и сервисных обновлений для .NET 8 больше не будет.

На какую версию переходить с .NET 8 или .NET 9? Microsoft рекомендует .NET 10. Это LTS-версия с поддержкой до ноября 2028 года.

Почему .NET 9 закончился вместе с .NET 8? С .NET 9 Microsoft продлила поддержку STS-релизов с 18 до 24 месяцев, поэтому дата окончания совпала с .NET 8.

Источники

Материал подготовлен редакцией YuSMP Group по открытым источникам. Нужна экспертиза по теме или разработка под задачу — обсудим проект.

Бэкенд всё ещё на .NET 8 или .NET 9?

Переведём сервисы на .NET 10 LTS: проведём инвентаризацию проектов и зависимостей, обновим целевую платформу и CI, прогоним регресс и выкатим систему по одному сервису.

Обсудить переход на .NET 10