Skip to content

NativeAOT in .NET 7 #61231

@agocke

Description

@agocke

.NET 6 improvements listed here: dotnet/runtimelab#336

We're now planning the following improvements for NativeAOT in the .NET 7 timeframe:

Goals:

For .NET 7 we want to enable NativeAOT for console apps and native library scenarios. Any libraries which are trim/AOT-warning free should be compatible with these form factors.

Pri 0:

  • Move the NativeAOT project out of dotnet/runtimelab and into dotnet/runtime
    • Building
    • Test integration
    • Packaging
  • Switch to runtime-built NativeAOT packages
  • Onboard first-party dotnet console applications using NativeAOT
  • Perf:
    • At least as fast as on JSON and Plaintext TechEmpower
    • YARP
      • YARP startup time < 50ms
    • Start tracking build time
  • Diagnostics
  • Reproducible and verifiable NativeAOT builds runtimelab#1632
    • CFG
    • CET (Shadow stack)
  • SDK Support
    • MSBuild property for enabling AOT compilation
  • Testing
    • Testing for diagnostic compatibility with the linker
    • Libraries unit testing
  • Docs
    • Building apps
    • Build libraries

Pri 1:

Pri 1 items moved to the future, out of the .NET 7 milestone: #69739

There also are some non-goals for .NET 7, particularly in applications that are not well-suited to trimming:

  • Complex reflection-dependent frameworks, like ASP.NET MVC and WPF
  • Apps with plugin models which dynamically load assemblies, like MSBuild
  • Mobile, WASM (already provided by Mono)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    No status

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions