CoreCLR zastępuje środowisko uruchomieniowe Mono dla aplikacji mobilnych .NET

Obciążenia mobilne platformy .NET 11 używają środowiska uruchomieniowego CoreCLR jako obsługiwanego środowiska.

Wersja wprowadzona

.NET 11

Poprzednie zachowanie

Obsługiwane projekty .NET 10 Android, iOS, tvOS i Mac Catalyst domyślnie używały Mono. Projekt może ustawić UseMonoRuntime=true, aby wybrać Mono.

Aplikacje i narzędzia mogą również wyświetlać nazwy Mono w informacjach o środowisku uruchomieniowym, plikach pakietu, śladach stosu, symbolach i zdarzeniach diagnostycznych.

Nowe zachowanie

Obsługiwane projekty .NET 11 Android, iOS, tvOS i Mac Catalyst korzystają z technologii CoreCLR. Ustawienie UseMonoRuntime=true powoduje błąd kompilacji NETSDK1242.

Aplikacje i narzędzia mogą widzieć nowe nazwy środowiska uruchomieniowego. Na przykład:

  • FrameworkDescription zgłasza .NET zamiast Mono.
  • Pakiety systemu Android zawierają pliki CoreCLR zamiast libmonosgen-2.0.
  • Ślady stosu, symbole i zdarzenia diagnostyczne identyfikują coreCLR.

Typ zmiany przełamującej

Ta zmiana może mieć wpływ na zgodność źródła, zgodność binarną i zachowanie.

Przyczyna zmiany

Obciążenia mobilne platformy .NET 11 używają środowiska uruchomieniowego CoreCLR jako obsługiwanego środowiska uruchomieniowego.

  • Usuń UseMonoRuntime=true z projektów .NET 11.
  • Jeśli aplikacja musi używać platformy Mono, utrzymaj ją na platformie .NET 10.
  • Zaktualizuj narzędzia, które szukają plików pakietu Mono, symboli, ramek stosu lub nazw diagnostycznych.
  • Nie dodawaj kodu sprawdzającego, czy środowisko uruchomieniowe to Mono, czy CoreCLR. Poszukaj zamiast tego funkcji, której potrzebuje aplikacja.

Interfejsy API, których dotyczy problem