Microsoft выпустила .NET 11 Release Candidate 2 с поддержкой для продакшена

13 октября Microsoft выпустила .NET 11 Release Candidate 2 — второй и последний релиз-кандидат перед стабильной версией, которую ждут в ноябре 2026 года. Сборка идёт с go-live лицензией: её официально разрешено запускать в продакшене. Командам на .NET 8 и 9 пора закладывать переход в план.
Для проектов, где на .NET работает серверная часть, это главный сигнал сезона: API платформы заморожен, и теперь можно прогонять реальный код, а не ждать GA. Если вы ведёте backend-разработку на ASP.NET Core или собираете мобильный клиент на .NET MAUI, кроссплатформенная разработка на этой платформе тоже получила заметные изменения — разберём их ниже.
Отдельно стоит обратить внимание на NuGet: новая настройка минимального «возраста» пакета — прямой ответ на волну атак через цепочку поставок, о которой мы писали в истории с заражённым пакетом arrayref в экосистеме Rust.
Что вошло в .NET 11 RC2
Анонс в блоге .NET перечисляет изменения почти во всех слоях платформы — библиотеках, рантайме, SDK, MSBuild, NuGet, F#, ASP.NET Core, .NET MAUI и Windows Forms. Для прикладных команд важнее всего следующее:
- Библиотеки. Инкрементальное чтение CBOR, экспериментальные API для составного ML-KEM и HPKE (постквантовое согласование ключей и гибридное шифрование с открытым ключом), улучшенное форматирование сообщений DataAnnotations и настройка параллелизма HTTP/2.
- ASP.NET Core. API виртуализации компонента QuickGrid в Blazor больше не помечены как экспериментальные.
- SDK и MSBuild. Значения файловых директив теперь можно брать в кавычки, свойства MSBuild подставляются в аргументы launch-профилей, а сопоставление wildcard-шаблонов при вычислении проекта стало быстрее.
- NuGet. В CLI появилась конфигурация минимального возраста публикации пакета — можно запретить ставить версии, опубликованные слишком недавно.
- Рантайм. На iOS и tvOS блокировка файлов по умолчанию отключена.
- F#. Улучшена поддержка runtime async, повторный выброс исключений в computation expressions, меньше аллокаций в коллекциях FSharp.Core и ниже потребление памяти компилятором.
Что изменилось для мобильной разработки на .NET MAUI
В .NET MAUI RC2 добавил создание приложений с интерфейсом, описанным целиком на C#, без XAML. Для команд, которые пишут UI кодом, это снимает необходимость держать разметку и code-behind в двух местах. Параллельно улучшены авторинг XAML и Hot Reload — тем, кто остаётся на XAML, тоже есть что обновить.
Ещё одно практическое изменение — интеграция ассетов Apple Icon Composer: иконки в новом формате Apple подключаются в проект напрямую. Вместе с отключённой по умолчанию блокировкой файлов на iOS и tvOS это означает, что iOS-сборки на RC2 стоит прогнать отдельно — поведение платформы поменялось не только в API.
Go-live лицензия: можно ли уже в продакшен
Go-live означает, что Microsoft поддерживает использование RC2 в рабочих системах — обращения в поддержку по проблемам этой сборки принимаются. Это не то же самое, что стабильный релиз: до GA ещё возможны исправления, а сама сборка устареет через несколько недель. Поэтому разумная тактика — не переводить на RC2 критичные сервисы, а поднять на нём ветку, CI и стенд, чтобы к ноябрю выйти на GA с уже найденными проблемами.
Работать с RC2 можно в Visual Studio 2026 Insiders и в Visual Studio Code с расширением C# Dev Kit.
Почему переход нельзя откладывать: сроки поддержки .NET 8 и 9
.NET 11 — нечётная версия, то есть выпуск со стандартным сроком поддержки (STS). Но для многих команд важнее не он сам, а календарь вокруг него: поддержка .NET 8 (LTS) и .NET 9 (STS) заканчивается 10 ноября 2026 года — примерно тогда же, когда ожидается GA .NET 11. После этой даты под старые версии перестанут выходить исправления безопасности.
Значит, выбор у команд на .NET 8 сейчас такой: уходить на .NET 10 (LTS) ради долгой поддержки или сразу на .NET 11 ради новых возможностей. RC2 — подходящий момент, чтобы проверить оба пути на собственном коде, а не по чейнджлогам.
Что сделать команде до релиза
- Соберите проект на RC2 в отдельной ветке и прогоните полный набор тестов: API заморожен, ошибки сборки сейчас — реальные, а не временные.
- Проверьте iOS- и tvOS-сборки MAUI из-за изменённой блокировки файлов и нового формата иконок.
- Включите минимальный возраст пакетов NuGet в CI — это недорогая страховка от свежих вредоносных версий зависимостей.
- Решите судьбу сервисов на .NET 8 и 9 до 10 ноября: целевая версия, окно миграции, ответственный.
- Не стройте продакшен-логику на экспериментальных API ML-KEM и HPKE: пробуйте их на стенде, но учитывайте, что интерфейс может измениться.
Часто задаваемые вопросы
Когда выйдет стабильный .NET 11? Microsoft ориентируется на ноябрь 2026 года; RC2 — последний релиз-кандидат перед ним.
Можно ли запускать .NET 11 RC2 в продакшене? Формально да: у сборки go-live лицензия и поддержка Microsoft. Практически лучше использовать её для подготовки миграции, а в продакшен выходить на GA.
Что выбрать при миграции с .NET 8 — .NET 10 или .NET 11? .NET 10 — LTS-выпуск с долгой поддержкой; .NET 11 — STS с более коротким сроком, но новыми возможностями. Для долгоживущих корпоративных систем чаще выбирают LTS.
Где скачать RC2? SDK доступен на странице загрузки .NET 11 на сайте Microsoft (get.dot.net/11).
Источники
- .NET Blog — Announcing .NET 11 Release Candidate 2, 13 октября 2026 (первоисточник).
- GitHub dotnet/announcements — .NET 11 Release Candidate 2, 13 октября 2026.
- Visual Studio Magazine — .NET 11 RC2 Adds Post-Quantum Crypto, .NET MAUI C# UI and NuGet Controls, 14 октября 2026.
- Thurrott.com — .NET 11 Enters Final Round of Testing, 13 октября 2026.
Сервисы на .NET 8 теряют поддержку в ноябре? Проведём миграцию
Оценим кодовую базу и зависимости, выберем целевую версию — .NET 10 LTS или .NET 11, перенесём бэкенд и API на новую платформу с тестами и без простоя продакшена.