Start Debugging

native-aot

22 статей · Страница1из3

FluentValidation 12.2 исправляет падение IsInEnum() в приложениях native AOT на перечислениях [Flags]

FluentValidation 12.2.0, вышедший 10 октября 2026 года, заменяет Enum.GetValues на Enum.GetValuesAsUnderlyingType внутри EnumValidator, поэтому IsInEnum() на перечислении [Flags] больше не выбрасывает NotSupportedException в бинарнике native AOT.

Что такое скомпилированная модель в EF Core 11 и когда стоит её включать

Скомпилированная модель - это сгенерированный C#-код, который воссоздаёт вашу модель EF Core без запуска OnModelCreating. Замеры на EF Core 11 RC1: загрузка модели сокращается с 714 мс до 215 мс при 500 сущностях, но путь через MSBuild (заменивший EFOptimizeContext) медленнее, устаревшие модели ломаются молча, а фильтры запросов блокируют генерацию.

C# Dev Kit 11.0 сводит шесть процессов в один бинарный файл Native AOT

Предварительная версия C# Dev Kit 11.0 заменяет шесть управляемых процессов одним процессом CSDevKit на Native AOT и добавляет постоянный кеш проектов. Решение Aspire из 407 проектов готово за 3.0 с вместо 84.1 с и занимает 316 МБ вместо 2 072 МБ.

MSTest 4.4 выводит генератор исходного кода для рефлексии из эксперимента, а проекты Native AOT получают его автоматически

MSTest 4.4 убирает у MSTest.SourceGeneration статус экспериментального и привязывает его к версии MSTest. Тестовые проекты Native AOT подключают его без opt-in, режим ReflectionFree теперь может пропускать обнаружение во время выполнения для простых [TestMethod] и [DataRow], а пять диагностик AOTSG показывают, какие формы тестов не пройдут.
2026-09-04 dotnetnative-aotjit

Что такое флаг W^X в .NET и нужен ли он Native AOT?

W^X (write xor execute) - правило, по которому ни одна страница памяти не бывает одновременно записываемой и исполняемой. В .NET это переключатель DOTNET_EnableWriteXorExecute, включённый по умолчанию с .NET 7, и существует он исключительно ради JIT. Native AOT его никогда не читает. Разбираем, как среда выполнения его реализует, во что он обходится и когда его отключение - законное решение.

Framework-dependent vs self-contained vs Native AOT для контейнерного образа .NET 11

Framework-dependent на chiseled-образе aspnet - правильный вариант по умолчанию для сервиса ASP.NET Core на .NET 11, потому что слой среды выполнения общий для всех сервисов, а CVE в среде выполнения закрывается сменой базового образа. Self-contained с trimming и Native AOT дают образ в 2-5 раз меньше и заметно более быстрый холодный старт, и стоят вам именно этого. Реальные опубликованные размеры, арифметика общих слоёв и ошибка вывода базового образа в .NET 11, ломающая путь AOT.
2026-08-30 errorsef-coremaui

Исправление: Model building is not supported when publishing with NativeAOT в сборке .NET MAUI для iOS

Сборки для iOS выставляют DynamicCodeSupport=false, поэтому EF Core отказывается строить модель, даже если вы никогда не включали NativeAOT. Поставляйте скомпилированную модель и предкомпилированные запросы либо снова включите интерпретатор.

Как заменить new Regex(...) на генератор исходного кода [GeneratedRegex] в .NET 11

Полное руководство по переходу с new Regex(pattern, RegexOptions.Compiled) на [GeneratedRegex] в .NET 11: механическая переработка кода, частичные методы против частичных свойств, измеренные показатели запуска и пропускной способности, диагностики SYSLIB1040-1045 и два случая, когда генератор молча откатывается к закешированному Regex.
Вперёд