Microsoft выпустила .NET 11 с C# 15 по умолчанию, поддержка .NET 8 и .NET 9 завершена

2026-11-10 3098 комментарии
.NET 11 – выпуск со стандартным сроком поддержки до 14 ноября 2028 года, для процессоров x86 и x64 он требует набор инструкций x86-64-v2. Выпуски 11.0.0, 10.0.15, 9.0.23 и 8.0.34 закрывают от 14 до 22 уязвимостей, для .NET 8 и .NET 9 это последние обновления

Microsoft выпустила .NET 11 – новую версию платформы для разработки приложений для Windows, macOS, Linux, Android и iOS. В нее вошли язык C# 15, ускоренные инструменты командной строки и переход .NET MAUI на среду выполнения CoreCLR. Вместе с .NET 11 вышли обновления безопасности .NET 10.0.15, 9.0.23 и 8.0.34. Для .NET 8 и .NET 9 они последние: поддержка обеих версий в этот день завершилась.

Скачать Microsoft .NET 11

Анонс .NET 11: надпись Announcing .NET 11 и ракета с цифрой 11.NET 11 вышла 10 ноября 2026 года. Изображение: Microsoft

Что нового в .NET 11

C# 15 стал версией языка по умолчанию для проектов на .NET 11. Главное его новшество – типы-объединения (union types): значение такого типа может быть одним из заранее объявленных типов, а компилятор проверяет, что в выражении switch разобраны все варианты. Вторая крупная возможность – закрытые иерархии: от закрытого (closed) класса напрямую можно наследоваться только внутри его сборки, поэтому компилятор знает полный список наследников. Кроме того, в C# 15 появились аргументы в выражениях коллекций, индексаторы-расширения и операторы break и continue с метками. F# 11 расходует меньше памяти при компиляции и позволяет ограничивать число одновременно выполняемых асинхронных операций.

Инструменты SDK стали быстрее за счет двух изменений, включенных по умолчанию. Хост командной строки dotnet теперь собран с Native AOT, поэтому справка, запрос версии и запуск инструментов не требуют старта управляемой части CLI. Сервер MSBuild остается запущенным между вызовами и не тратит время на повторный запуск. Установщики SDK для Linux и macOS стали меньше. Для установки и обновления SDK и сред выполнения в профиле пользователя Microsoft выпустила утилиту dotnetup – пока в статусе общедоступной предварительной версии.

Компилятор JIT убирает больше лишних проверок границ массивов и ветвлений и чаще заменяет виртуальные вызовы прямыми. В Native AOT ускорен вызов методов интерфейсов, а на поддерживаемых процессорах x64 и Arm64 для типа Half используются инструкции FP16. Журнал аварийных завершений с управляемым стеком вызовов, раньше доступный только на мобильных платформах, теперь работает и в Linux и macOS. Runtime Async – перенос обработки асинхронных методов из генерируемого компилятором кода в среду выполнения – остается предварительной возможностью и включается вручную.

В стандартных библиотеках появились сжатие Zstandard в System.IO.Compression, методы для запуска процесса с получением его вывода и кода завершения одним вызовом, поддержка объединений C# и F# в System.Text.Json и оператор FullJoin в LINQ. Entity Framework Core 11 переводит FullJoin в SQL, строит запросы без лишних соединений таблиц и получил экспериментальный векторный поиск для SQL Server.

В ASP.NET Core документы OpenAPI по умолчанию создаются в версии 3.2, появилась асинхронная проверка данных, которая может обращаться к базе данных или удаленному сервису без блокировки потока, а соединения SignalR обновляют данные аутентификации без переподключения. Blazor получил компонент CacheView для кэширования готовой разметки и возможность автоматически приостанавливать соединения с неактивными вкладками браузера, чтобы освобождать память сервера. Для приложений с ИИ в SDK добавлен шаблон MCP-сервера (dotnet new mcpserver), а экспериментальные компоненты Blazor для чат-интерфейсов работают с протоколом AG-UI.

.NET MAUI по умолчанию использует среду выполнения CoreCLR вместо Mono на всех платформах. Поддержка Android на процессорах x86 прекращена, а пакет совместимости Microsoft.Maui.Controls.Compatibility больше не выпускается. В Windows Forms можно включить современное оформление элементов управления – для всего приложения или для отдельных элементов. В WPF исправлены ошибки фона окон в стиле Fluent и сбои диспетчера окон.

.NET SDK 11.0.100 входит в Visual Studio 2026 версии 18.12.0. Для работы с .NET 11 в Visual Studio Code нужно расширение C# Dev Kit.

Новые требования к процессору

Для процессоров x86 и x64 минимальным требованием .NET 11 во всех операционных системах стал набор инструкций x86-64-v2. Кроме SSE и SSE2 процессор должен поддерживать CX16, POPCNT, SSE3, SSSE3, SSE4.1 и SSE4.2. На более старом процессоре приложения на .NET 11 не запустятся и могут вывести сообщение «The current CPU is missing one or more of the baseline instruction sets». По данным Microsoft, этот набор инструкций требуется для Windows 11 и есть у всех процессоров x86 и x64, официально поддерживаемых Windows 10, а последние процессоры Intel и AMD без него производители перестали поддерживать около 2013 года. Для Arm64 минимальные требования не изменились.

Список поддерживаемых операционных систем Microsoft опубликовала на GitHub: в него входят Windows 11, Windows Server 2016–2025, macOS 15, 26 и 27, Ubuntu 22.04–26.04, Debian 13, Fedora 44 и 45 и другие дистрибутивы Linux.

Исправления безопасности

Все четыре выпуска .NET от 10 ноября содержат исправления безопасности. В .NET 11.0.0 закрыто 22 уязвимости, в .NET 10.0.15 и 8.0.34 – по 16, в .NET 9.0.23 – 14, и большинство из них общие для всех версий. Описаний Microsoft на момент публикации не привела: в примечаниях к выпуску уязвимости перечислены только идентификаторами, например CVE-2026-114146 и CVE-2026-109475. Номера версий и входящих в них SDK:

  • .NET 11.0.0 – SDK 11.0.100;
  • .NET 10.0.15 – SDK 10.0.404 и 10.0.115;
  • .NET 9.0.23 – SDK 9.0.321 и 9.0.124;
  • .NET 8.0.34 – SDK 8.0.428 и 8.0.134.

Окончание поддержки .NET 8 и .NET 9

Поддержка .NET 8 – выпуска с долгосрочной поддержкой (LTS) – и .NET 9 завершилась 10 ноября 2026 года, поэтому 8.0.34 и 9.0.23 – их последние обновления. Уязвимости, которые найдут в этих версиях позже, исправлять не будут. Microsoft рекомендует перейти на .NET 10 – выпуск LTS – или на .NET 11. Поддержка обеих версий продлится до 14 ноября 2028 года.

Программы, собранные для .NET 8 или .NET 9, по умолчанию запускаются только на среде выполнения своей основной версии: установленная .NET 10 или .NET 11 ее не заменяет. Поэтому среду выполнения .NET 8 или .NET 9 не нужно удалять, пока она нужна установленным программам, – достаточно обновить ее до последней версии 8.0.34 или 9.0.23. Какие среды выполнения установлены в системе, показывает команда:

dotnet --list-runtimes
Читаете нас в Google? Добавьте Comss.ru в источникиДобавьте Comss.ru в источники Google
Новые статьи будут чаще в «Главных новостях» Google. Без подписок и уведомлений, отключается в один клик. Нужен вход в аккаунт Google.Наши статьи будут чаще в «Главных новостях». Нужен вход в Google.
Добавить в Google
© .
Комментарии и отзывы

Нашли ошибку?

Новое на сайте