CoreCLR ersetzt Mono-Runtime für .NET mobile Apps

.NET 11 mobile Workloads verwenden CoreCLR als unterstützte Laufzeit.

Eingeführt in Version

.NET 11

Bisheriges Verhalten

Unterstützte .NET 10 Android-, iOS-, tvOS- und Mac Catalyst-Projekte verwendeten standardmäßig Mono. Ein Projekt könnte UseMonoRuntime=true festlegen, um Mono auszuwählen.

Apps und Tools können auch Mono-Namen in Laufzeitinformationen, Paketdateien, Stacktraces, Symbolen und Diagnoseereignissen anzeigen.

Neues Verhalten

Unterstützte .NET 11 Android-, iOS-, tvOS- und Mac Catalyst-Projekte verwenden CoreCLR. Das Festlegen von UseMonoRuntime=true verursacht den Buildfehler NETSDK1242.

Apps und Tools können neue Laufzeitnamen sehen. Beispiele:

  • FrameworkDescriptionmeldet .NET anstelle von Mono.
  • Android-Pakete enthalten CoreCLR-Dateien anstelle von libmonosgen-2.0.
  • Stacktraces, Symbole und Diagnoseereignisse identifizieren CoreCLR.

Art der einschneidenden Änderung

Diese Änderung kann sich auf die Quellkompatibilität, binäre Kompatibilität und das Verhalten auswirken.

Grund für die Änderung

.NET 11 mobile Workloads verwenden CoreCLR als unterstützte Laufzeit.

  • UseMonoRuntime=true aus .NET 11-Projekten entfernen
  • Wenn eine App Mono verwenden muss, belassen Sie sie auf .NET 10.
  • Aktualisieren Sie Tools, die nach Mono-Paketdateien, Symbolen, Stapelframes oder Diagnosenamen suchen.
  • Fügen Sie keinen Code hinzu, der überprüft, ob die Laufzeit Mono oder CoreCLR ist. Suchen Sie nach dem Feature, das die App stattdessen benötigt.

Betroffene APIs