ReadyToRun Images (R2R)
Eintrag zuletzt aktualisiert am: 15.04.2026
Ein ReadyToRun Image ist eine Form von Ahead-of-time-Kompilierung (AOT) seit
.NET Core 3.0.
- Basiert auf CrossGen (Zweite Generation AOT nach NGEN)
- Ein ReadyToRun Image enthält Microsoft Intermediate Language (MIL) und Native Code!
- Sie sind sind daher größer!
- Anwendungen starten schneller!
- IL wird in einigen Szenarien noch gebraucht
- Nur mit Self-Contained Deployment!
- Keine Cross-Kompilierung
Entwicklungsplattform -> Zielplattformen
Windows x64 -> Windows ARM32 + ARM64 + x86
Windows x86 -> Windows ARM32
Linux x64 -<
Linux ARM32 + ARM64
Man aktiviert ein ReadyToRun Image mit Eintrag in der Projektdatei:
<
PropertyGroup> <PublishReadyToRun>true</PublishReadyToRun> </
PropertyGroup>
Alternativ kann man beim Kompilieren angeben:
dotnet publish -c Release -r win-x64 -p:PublishReadyToRun=true
Seit
.NET 6.0 gibt es eine verbesserte Version Crossgen2:
dotnet publish -c Release -r win-x64 -p:PublishReadyToRun=true -p:ReadyToRunUseCrossgen2=true
- Vorteil: bessere Optimierung über Assembly-Grenzen hinweg
- Nachteil: längere Build-Zeit, größere Dateien
Die dritte Generation der AOT-Kompilierung für .NET ist
Native AOT.