Introduction
Migrating a production-grade .NET MAUI application from .NET 9 to .NET 10 is a significant undertaking that requires careful planning, a thorough understanding of breaking changes, and diligent validation across all supported platforms. .NET 10 introduces major improvements in performance, diagnostics, and developer productivity, but also includes critical breaking changes, deprecated APIs, and updated platform requirements that must be addressed to ensure a smooth transition and continued production stability.
This guide provides a comprehensive, step-by-step approach to upgrading your .NET MAUI project, including prerequisites, environment setup, SDK and workload updates, project file changes, platform-specific migration steps, testing strategies, CI/CD considerations, and best practices for a robust migration.
This article covers:
Environment and SDK prerequisites
Changes in workloads and tooling
Updates to .csproj and platform targets
Breaking changes and deprecated APIs
Migration steps for Android, iOS, Windows, and macOS
Post-migration testing and validation
Best practices for production readiness
1. Prerequisites and Environment Setup
1.1 Supported Operating Systems and Hardware
Ensure your environment meets minimum requirements:
Windows: Windows 11 (21H2+) or Windows 10 (1909+)
macOS: macOS 12 or higher
Hardware: x86/x64 CPU, 4 GB RAM minimum (16 GB recommended), up to 210 GB disk space
These apply to both developer machines and CI/CD agents.
1.2 Development Tools
Visual Studio 2026 or later
Visual Studio Code with .NET MAUI extension (optional)
Xcode 26+ (iOS/Mac Catalyst)
Latest Android SDK (API 24+ recommended)
Install Workloads
dotnet workload install maui
dotnet workload install android
dotnet workload install ios
dotnet workload install maccatalyst
dotnet workload install windows
Verify:
dotnet --version
dotnet workload list
1.3 Backup and Source Control
Commit all code
Tag current version (e.g., v9.0-production)
Back up project directory
2. SDK, Workloads, and Tooling Changes
2.1 .NET 10 Workload Model
Workload sets for stable installations
Android API 36, JDK 21 support
iOS 18.2, macOS 15.2 minimums
Full MAUI support in VS 2026+
2.2 NuGet Package Compatibility
Update all packages:
dotnet list package --outdated
Key updates:
Microsoft.Maui.* → 10.0.0+
CommunityToolkit.Maui → 12.3.0+
3. Updating .csproj and Target Frameworks
3.1 Target Frameworks
<PropertyGroup>
<TargetFrameworks>net10.0-android;net10.0-ios;net10.0-maccatalyst;net10.0-windows10.0.19041.0</TargetFrameworks>
</PropertyGroup>
Conditional TFMs for OS-specific builds supported.
3.2 Platform Version Properties
<SupportedOSPlatformVersion Condition="'$(TargetFrameworkIdentifier)'=='android'">24.0</SupportedOSPlatformVersion>
(Repeat for iOS, macOS, Windows.)
3.3 Additional Project Updates
Remove obsolete properties
Enable XAML source generation
<MauiXamlInflator>SourceGen</MauiXamlInflator>
Windows fix if needed:
<WindowsPackageType>None</WindowsPackageType>
4. Breaking Changes and Deprecated APIs
Major removals and replacements:

Vishal PPosted Feb 2, 2026, 4:17 PM
Working fine, thanks