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: план для команды
- Инвентаризация. Соберите список сервисов, библиотек и CI-образов, где указан
net8.0илиnet9.0. Не забудьте контейнеры и агентов сборки. - Обновление целевой платформы. По инструкции Microsoft основной шаг — сменить в проектах свойство
TargetFrameworkнаnet10.0и обновить SDK в средах разработки и на хостинге. - Зависимости. Обновите NuGet-пакеты до версий с поддержкой .NET 10 и найдите библиотеки, которые больше не развиваются.
- Регресс. Прогоните автотесты и нагрузочные сценарии на .NET 10 до выкатки. Breaking changes между мажорными версиями бывают, и лучше поймать их на стенде.
- Выкатка по сервисам. Переводите систему по частям, начиная с публичных 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.
Источники
- .NET Blog (Microsoft) — .NET 8 and .NET 9 will reach End of Support on November 10, 2026 (первоисточник).
- InfoWorld — End of support looms for .NET 8 and .NET 9, июль 2026.
- The Register — .NET's long-term support is not long-term enough, dev complains, 29 июня 2026.
- .NET Blog (Microsoft) — Get Ready for .NET Conf 2026!
Бэкенд всё ещё на .NET 8 или .NET 9?
Переведём сервисы на .NET 10 LTS: проведём инвентаризацию проектов и зависимостей, обновим целевую платформу и CI, прогоним регресс и выкатим систему по одному сервису.