Microsoft Shifts .NET MAUI to CoreCLR Runtime in .NET 11 Preview 4
Starting with .NET 11 Preview 4, CoreCLR becomes the default runtime for .NET MAUI applications on Android, iOS, and Mac Catalyst. This change unifies mobile app execution with the same runtime powering ASP.NET Core, Azure, and desktop apps. Microsoft confirmed the shift in a recent announcement, marking a major milestone in cross-platform .NET development.
"This transition represents the culmination of years of work to unify .NET across all platforms," said a Microsoft spokesperson.
Background
For over 15 years, Mono served as the runtime enabling .NET on mobile and other non-traditional platforms. Initiated by Miguel de Icaza in 2001, Mono originally brought .NET to Linux. It later powered MonoTouch (2009) and MonoDroid, which evolved into Xamarin—acquired by Microsoft in 2016.

Mono's influence extends beyond Microsoft. Unity built its scripting engine on Mono, and others like Avalonia, Uno Platform, MonoGame, and Godot rely on it. "Mono didn't just enable .NET on mobile—it proved .NET could go anywhere," de Icaza reflected.
What Changed
In .NET 11, CoreCLR is now the default runtime for both Release and Debug builds on Android, iOS, Mac Catalyst, and tvOS. This extends CoreCLR's reach from Windows, Linux, macOS (AppKit), and Android to the remaining MAUI platforms previously on Mono.
Important clarifications:
- Blazor WebAssembly continues to use Mono—no change in .NET 11.
- Developers can opt back to Mono during the transition if issues arise.
Why CoreCLR
Three reasons drove the change:
- Runtime unification—mobile apps now run on the same runtime as backend services, eliminating differences in JIT, garbage collection, and diagnostics.
- Improved performance—CoreCLR brings optimized garbage collection and JIT compilation to mobile platforms.
- Simplified tooling—one set of tools applies across all .NET workloads.
For deeper technical details, see the Runtimes and compilation documentation.

What This Means
Developers can now build mobile apps with the same runtime trust and tooling used by millions of production workloads. This unifies debugging, profiling, and deployment across server, desktop, and mobile. "CoreCLR becoming the default for .NET MAUI is the next chapter of Mono's story, not its ending," the Microsoft spokesperson added.
The shift also signals Mono's legacy—while it fades as a mobile runtime, its innovations paved the way for cross-platform .NET. Ecosystem projects like Unity are also transitioning to CoreCLR, ensuring long-term alignment.
Runtimes and Compilation Documentation
Microsoft's official documentation provides further reading on runtime selection and compilation modes. Developers are encouraged to review the Runtimes and compilation page for migration guidance.
This article was updated to reflect the official .NET 11 Preview 4 release notes.
Related Articles
- 10 Crucial Facts About Vibe Coding on iOS: Benefits, Risks, and Apple's Tightrope
- Flutter 3.44 to Default to Swift Package Manager, Phasing Out CocoaPods by 2026
- Building Virtual Reality Apps: A Guide to React Native on Meta Quest
- Google Search Down: What Happened During Today’s Global Outage
- 10 Critical Facts About the Google Family Link Call Blocking Bug
- Flutter 3.44 to Ditch CocoaPods: Swift Package Manager Becomes Default
- React Native 0.84 Launches: Hermes V1 and Precompiled Binaries Become Default, Boosting Performance and Build Times
- Flutter's Big Switch: 10 Things You Need to Know About Ditching CocoaPods for Swift Package Manager