C# · Avançado · Inglês · Técnico
Native AOT
Publicação que compila o app inteiro para um executável nativo, sem JIT nem runtime instalado. Dá startup quase instantâneo e menos memória, com limites em reflection e carregamento dinâmico.
Onde usar
Aparece em CLIs, containers pequenos e funções serverless, com PublishAot no csproj. O compilador emite avisos de trimming para código incompatível, como reflection sobre tipos não conhecidos; source generators resolvem boa parte disso.
Em código
<PropertyGroup>
<PublishAot>true</PublishAot>
</PropertyGroup>
<!-- dotnet publish -c Release -->Exemplos
The CLI ships as a Native AOT binary.
A CLI é distribuída como binário Native AOT.
That library uses reflection, so it won't work with Native AOT.
Essa biblioteca usa reflection, então não funciona com Native AOT.
Cuidado
Não ative em qualquer projeto: bibliotecas que dependem de reflection dinâmica, Assembly.Load ou Reflection.Emit podem não funcionar.
Sinônimos
PublishAot
Antônimos
JIT
Origem
AOT é sigla de ahead-of-time, 'antes da execução'.