Архив рассылок сообщества снова открыт. Читать письма 2003-2009
Главная/Блог/Новости
Новости4 мин чтения12 ноября 2026

Вышел .NET 11: C# 15 с юнион-типами, а .NET 8 и .NET 9 больше не получают патчи

Microsoft выпустила новую версию открытой платформы. Разбираем, что изменилось и что делать тем, у кого на Linux-серверах работают приложения на ASP.NET Core 8.

10 ноября 2026 года команда .NET объявила о выпуске .NET 11, вместе с ним вышел C# 15. Это выпуск со стандартным сроком поддержки (STS): обновления будут выходить два года. Долгосрочной (LTS) веткой остаётся .NET 10. О релизе также написали Visual Studio Magazine и Linuxiac.

Администраторам важнее другая строка из того же анонса: .NET 8 и .NET 9 сняты с поддержки 10 ноября 2026 года. Сервисы на этих версиях продолжат работать, но исправлений безопасности для них больше не будет. Какие рантаймы стоят на сервере, покажет команда dotnet --list-runtimes.

Если веб-приложение компании написано на ASP.NET Core 8, ближайший безопасный шаг — перевести его на .NET 10 LTS, а не прыгать сразу на 11. Когда своих разработчиков на миграцию нет, её можно отдать команде, которая занимается разработкой веб-приложений. В ТЗ стоит записать проверку зависимостей NuGet, прогон тестов и выкладку без простоя.

Что нового в .NET 11 и C# 15

  • Юнион-типы. Значение может принадлежать одному из заранее объявленных типов, а компилятор проверяет, что switch разбирает все варианты. Этой функции сообщество C# ждало много лет.
  • Закрытые иерархии классов. Наследование можно ограничить сборкой, в которой объявлен базовый класс.
  • Мелочи языка. Индексаторы-расширения, аргументы в collection expressions, метки для break и continue.
  • Рантайм. По словам Microsoft, в выпуске сотни оптимизаций рантайма и библиотек. JIT убирает лишние проверки границ массивов и чаще девиртуализирует вызовы, а в Native AOT подешевели вызовы через интерфейсы.
  • SDK. Сервер MSBuild по умолчанию остаётся запущенным между вызовами CLI, поэтому повторные сборки идут быстрее. Установщики SDK для Linux и macOS похудели за счёт дедупликации сборок.

Что изменилось в ASP.NET Core 11 и EF Core 11

Главные изменения ASP.NET Core 11 касаются валидации, документации API и real-time-соединений:

  • Асинхронная валидация. Правило проверки может сходить в базу данных, не блокируя поток.
  • OpenAPI 3.2. Документация API по умолчанию генерируется в этом формате.
  • SignalR. Учётные данные обновляются без переподключения клиента.
  • Blazor. Появился компонент CacheView для кэширования статического рендеринга.

EF Core 11 убирает лишние JOIN в запросах по навигационным свойствам и лучше транслирует GroupBy. Векторный поиск в SQL Server пока помечен как экспериментальный.

Что сделать на серверах в ближайшие недели

  1. Составьте список сервисов на .NET 8 и 9 по всем хостам.
  2. Запланируйте переход этих сервисов на .NET 10 LTS.
  3. Сервисы в контейнерах пересоберите на обновлённых базовых образах.

Новую версию удобнее выкатывать постепенно: схемы описаны в материале о деплое без простоя, а про оркестрацию небольших стендов — в разборе Kubernetes для небольших команд.

Вернуться в блог