Вышла .NET 11 Preview 6 (финальный релиз ожидается в ноябре 2026 года). Улучшения затро... — 16 июля 2026 г. в 08:57:41.770
Вышла .NET 11 Preview 6 (финальный релиз ожидается в ноябре 2026 года). Улучшения затронули и рантайм, и библиотеки, и конкретные фреймворки вроде ASP NET Core и MAUI. Рассмотрим основные изменения: ## Рантайм и общие улучшения * Производительность async. Встроенную реализацию async/await в рантайме сделали еще быстрее: продолжения теперь могут отказываться от захвата и восстановления ExecutionContext, а JIT-компилятор генерирует отдельную версию метода для async-пути, убирая лишний уровень косвенности. * JIT-оптимизации. Для методов, возвращающих задачу, JIT теперь компилирует отдельную async-версию, а хвостовые вызовы преобразует в вызовы async-пути. * Native AOT. Ускорили диспетчеризацию интерфейсов в Native AOT. * SIMD. Добавили новые операции для построения векторов и их композиции. * Логирование сбоев. Добавили возможность логирования отчетов о сбоях в процессе. ## Библиотеки * Адаптеры потоков. Появились четыре новых типа потоков, которые позволяют работать с памятью, текстом или сегментированными буферами через API, ожидающие Stream, без предварительного копирования данных в MemoryStream (ReadOnlyMemoryStream, WritableMemoryStream, ReadOnlySequenceStream, StringStream). * Асинхронная валидация в DataAnnotations. Ввели AsyncValidationAttribute, интерфейс IAsyncValidatableObject и асинхронные версии методов Validator. Это позволяет валидаторам обращаться к базе данных или внешним сервисам без блокировки потока. Также асинхронную валидацию можно применять при запуске приложения для конфигурации. * System.Text.Json и объединения (unions). Теперь эта библиотека нативно сериализует и десериализует типы объединений C#. Сериализатор распознает объединение через JsonTypeInfoKind.Union, поддерживает генератор исходного кода и рефлексивный сериализатор. Появились атрибуты JsonUnionAttribute, JsonUnionCaseInfo и API для настройки обнаружения и именования случаев. * Трассировка Activity. Добавили правила для настройки трассировки. * Операции с векторами. Появились операции для построения векторов и перестановки полос. * Работа с процессами. Добавили API для запуска процессов в приостановленном состоянии и поиска процессов по идентификатору без исключения, если идентификатор не найден. ## ASP NET Core * Асинхронная валидация в Minimal APIs. Теперь валидация в Minimal API полностью поддерживает асинхронные валидаторы. * Автоматическая защита от кросс-оригинальных запросов (CSRF). * Blazor Virtualize. Компонент Virtualize теперь позволяет прокручивать список прямо к указанному элементу, что удобно при работе с большими виртуальными коллекциями. * Управление поведением клиента из сервера. Ввели API WithBrowserOptions, которое позволяет серверу сериализовать настройки (уровень логирования, параметры переподключения, сохранение DOM и т.п.) в отрисованную страницу — скрипт Blazor применяет их в браузере (в режимах Server, WebAssembly и Auto). * OpenAPI 3.2 по умолчанию. * Атрибут [ShortCircuit]. Позволяет пометить endpoint, чтобы он выполнялся сразу после маршрутизации, пропуская остальную часть конвейера middleware. Это полезно для эндпоинтов, которым не нужны аутентификация, CORS и т.п. (например, health check или ответ на запрос robots.txt). * SignalR. Появилась возможность обновлять учетные данные аутентификации во время длительного соединения без разрыва связи (когда истекает токен доступа). Также клиент теперь может отменять отдельные вызовы хаба. * dotnet user-jwts. Команда теперь поддерживает файловые приложения. ## .NET MAUI * CollectionView2 для Windows. Для Windows появился обработчик (handler) на основе ItemsRepeater из WinUI. Он поддерживает заголовки и футеры, пустые представления, группировку, режимы выделения, «подгрузку с прокруткой» и RefreshView. * Архитектура Shell на Android. Переписана на основе стандартных обработчиков MAUI (вместо старых классов рендереров). Это позволяет повторно использовать общие строительные блоки. * Удаление пакета Microsoft.Maui.Controls.Compatibility. Этот пакет, который помогал при миграции с Xa

