CoreCLR remplace le runtime Mono pour les applications mobiles .NET

Les charges de travail mobiles de .NET 11 utilisent CoreCLR comme runtime pris en charge.

Version introduite

.NET 11

Comportement antérieur

Les projets Android, iOS, tvOS et Mac Catalyst pris en charge dans .NET 10 utilisaient Mono par défaut. Un projet peut définir UseMonoRuntime=true pour sélectionner Mono.

Les applications et outils peuvent également voir les noms Mono dans les informations d’exécution, les fichiers de package, les traces de pile, les symboles et les événements de diagnostic.

Nouveau comportement

Les projets .NET 11 Android, iOS, tvOS et Mac Catalyst pris en charge utilisent CoreCLR. Le paramètre UseMonoRuntime=true provoque l’erreur de génération NETSDK1242.

Les applications et les outils peuvent voir les nouveaux noms de runtime. Par exemple:

  • FrameworkDescriptionsignale .NET au lieu de Mono.
  • Les packages Android contiennent des fichiers CoreCLR au lieu de libmonosgen-2.0.
  • Les traces de pile, les symboles et les événements de diagnostic identifient CoreCLR.

Type de changement avec rupture de compatibilité

Cette modification peut affecter la compatibilité source, la compatibilité binaire et le comportement.

Raison du changement

Les charges de travail mobiles .NET 11 utilisent CoreCLR comme runtime pris en charge.

  • Supprimez UseMonoRuntime=true des projets .NET 11.
  • Si une application doit utiliser Mono, conservez-la sur .NET 10.
  • Mettez à jour les outils qui recherchent des fichiers de package Mono, des symboles, des trames de pile ou des noms de diagnostic.
  • N’ajoutez pas de code qui vérifie si le runtime est Mono ou CoreCLR. Vérifiez plutôt la fonctionnalité dont l’application a besoin.

API affectées