
.NET 8 и .NET 9 теряют поддержку 10 ноября: что делать командам с приложениями на VB.NET
10 ноября 2026 года, во вторник обновлений Microsoft, заканчивается поддержка сразу двух версий: .NET 8 (LTS) и .NET 9 (STS). В тот же день на .NET Conf выходит .NET 11. Если ваше приложение на VB.NET или WinForms уже перенесли с .NET Framework на .NET 8, через шесть дней оно останется без исправлений безопасности.
Совпадение дат — следствие решения, о котором Microsoft объявила в 2025 году: релизы со стандартным сроком поддержки (STS) теперь получают 24 месяца вместо 18. Из-за этого .NET 9 должен был уйти в мае 2026-го, а уходит вместе с .NET 8. Командам, которые обновлялись «на одну версию вперёд», это сэкономило полгода, но теперь переходить нужно всем одновременно.
Для VB.NET-проектов переход с .NET 8 на .NET 10 обычно проще, чем исходный перенос с .NET Framework: язык и WinForms поддерживаются, файл проекта уже в SDK-формате. Сложности, как правило, в сторонних компонентах, сборке и серверах. Если работу нужно заложить в бюджет на следующий квартал, полезно заранее прикинуть стоимость доработки по прайсу подрядчика и сравнить её с затратами своей команды. Ниже — что именно меняется и как проверить свои проекты.
Что меняется 10 ноября
По объявлению в блоге .NET, после 10 ноября Microsoft прекращает для .NET 8 и .NET 9 три вещи: исправления безопасности, сервисные обновления и техническую поддержку. В сам день окончания поддержки каждая версия может получить последний патч, если к этому моменту найдут критическую проблему. Visual Studio в следующих обновлениях будет помечать компоненты .NET 8 и .NET 9 как неподдерживаемые, а установщик предложит их удалить.
Актуальные сроки сведены в политике поддержки .NET: последние патчи — 8.0.33 и 9.0.22 от 25 октября 2026 года, .NET 10 поддерживается до 14 ноября 2028 года. Если на сервере стоит более ранний патч .NET 8, сначала обновитесь до последнего: это закроет уже известные уязвимости, в том числе внеплановый патч, о котором мы писали в новости об уязвимости в декодере Brotli.
Почему .NET 10, а не .NET 11
.NET 11 выходит 10 ноября, ключевой доклад .NET Conf назначен на 8:00 по тихоокеанскому времени, сообщает Thurrott. Но это STS-релиз: при сроке 24 месяца его поддержка закончится примерно тогда же, когда у .NET 10. Выигрыша по сроку нет, а риск выше: часть сторонних библиотек и компонентов догонит новую версию только через несколько месяцев.
Для legacy-приложения на VB.NET аргумент ещё сильнее. Новые возможности C# 15, вроде union-типов, в Visual Basic не появятся: Microsoft развивает VB в режиме стабильности, без новых языковых конструкций. Значит, в .NET 11 вы получите новую среду выполнения без пользы для своего кода. .NET 10 даёт тот же срок поддержки при проверенной экосистеме.
Как проверить свои проекты
Начните с инвентаризации: какие среды выполнения стоят на серверах и какие проекты на что нацелены.
# Какие среды выполнения и SDK стоят на сервере или рабочей машине
dotnet --list-runtimes
dotnet --list-sdks
# Какие проекты в репозитории нацелены на .NET 8 или .NET 9
Get-ChildItem -Recurse -Include *.vbproj, *.csproj |
Select-String -Pattern '<TargetFrameworks?>.*net(8|9)\.0'
# В .vbproj переход выглядит так (WinForms):
# <TargetFramework>net8.0-windows</TargetFramework> → <TargetFramework>net10.0-windows</TargetFramework>Дальше — сторонние NuGet-пакеты и компоненты интерфейса. Типичные сложности при обновлении WinForms-проекта мы разбирали в статье о переносе WinForms на VB.NET на современный .NET: тот же порядок работ подходит и для шага с .NET 8 на .NET 10. Если проектов много и непонятно, с чего начать, пройдитесь по чек-листу аудита legacy-кодовой базы.
Что сделать на этой неделе
Если приложение ещё живёт на .NET Framework 4.x или VB6, срочности из-за этой даты нет, но и откладывать стратегическое решение не стоит: как прикинуть объём и цену такого переноса, мы описали в материале об оценке стоимости миграции legacy.
Вопросы и ответы
Приложение на .NET 8 перестанет запускаться 11 ноября?
Нет. Microsoft прямо пишет, что приложения на .NET 8 и .NET 9 продолжат работать. Перестанут выходить исправления безопасности и сервисные обновления, а обращения в поддержку Microsoft по этим версиям больше не принимаются. Риск растёт постепенно: каждая следующая уязвимость в среде выполнения останется у вас открытой.
Почему не перейти сразу на .NET 11?
.NET 11 — релиз со стандартным сроком поддержки (STS), Microsoft поддерживает такие версии 24 месяца, то есть примерно до ноября 2028 года. .NET 10 — релиз с долгосрочной поддержкой до 14 ноября 2028 года и уже год как в эксплуатации, библиотеки под него обновлены. Срок почти одинаковый, а риск выше у свежего релиза, поэтому для legacy-приложения разумнее .NET 10.
Касается ли это приложений на .NET Framework 4.8?
Нет. .NET Framework 4.8 и 4.8.1 входят в состав Windows и поддерживаются вместе с ней, у них отдельный жизненный цикл. Новость касается только современного .NET: если в файле проекта стоит TargetFramework net8.0 или net9.0 (в том числе net8.0-windows для WinForms), приложение под это попадает.