CoreCLR reemplaza el tiempo de ejecución de Mono para las aplicaciones móviles de .NET

Las cargas de trabajo móviles de .NET 11 usan CoreCLR como su entorno de ejecución compatible.

Versión introducida

.NET 11

Comportamiento anterior

Los proyectos compatibles con .NET 10 de Android, iOS, tvOS y Mac Catalyst usaban Mono de forma predeterminada. Un proyecto podría establecer UseMonoRuntime=true para seleccionar Mono.

Las aplicaciones y las herramientas también podrían ver nombres Mono en información de tiempo de ejecución, archivos de paquete, seguimientos de pila, símbolos y eventos de diagnóstico.

Nuevo comportamiento

Los proyectos de Android, iOS, tvOS y Mac Catalyst compatibles con .NET 11 usan CoreCLR. La configuración UseMonoRuntime=true provoca el error de compilación NETSDK1242.

Las aplicaciones y las herramientas pueden ver nuevos nombres de tiempo de ejecución. Por ejemplo:

  • FrameworkDescription notifica .NET en lugar de Mono.
  • Los paquetes de Android contienen archivos CoreCLR en lugar de libmonosgen-2.0.
  • Los seguimientos de pila, los símbolos y los eventos de diagnóstico identifican CoreCLR.

Tipo de cambio disruptivo

Este cambio puede afectar a la compatibilidad del código fuente, la compatibilidad binaria y el comportamiento.

Motivo del cambio

Las cargas de trabajo móviles de .NET 11 usan CoreCLR como su entorno de ejecución compatible.

  • Quite UseMonoRuntime=true de los proyectos de .NET 11.
  • Si una aplicación debe usar Mono, manténgala en .NET 10.
  • Actualice las herramientas que buscan archivos de paquete Mono, símbolos, frames de pila o nombres de diagnóstico.
  • No agregue código que compruebe si el tiempo de ejecución es Mono o CoreCLR. Compruebe la característica que necesita la aplicación en su lugar.

Las APIs afectadas