Share via

Moving with MAUI from .NET 9 to .NET 10

Yan Y 25 Reputation points
2026-04-12T16:00:04.42+00:00

Hi,

I have two MAUI app in .NET 9.

I want to move to .NET 10.

I'm using VS 2026 version 18.1.1

What I need to do ?

Thanks,

Developer technologies | .NET | .NET MAUI
0 comments No comments

Answer accepted by question author
  1. Jack Dang (WICLOUD CORPORATION) 16,515 Reputation points Microsoft External Staff Moderator
    2026-04-13T03:30:21.5966667+00:00

    Hi @Yan Y ,

    If you want to move a .NET MAUI app from .NET 9 to .NET 10, I would start with these steps:

    1. Make sure Visual Studio 2026 18.1.1 has .NET 10 and the MAUI workload installed.
    2. Update each project file from net9.0-* to net10.0-*.
    3. Update any MAUI-related NuGet packages, if you reference them explicitly.
    4. Delete the bin and obj folders.
    5. Restore and rebuild the solution.
    6. Fix any warnings or breaking changes that appear after the rebuild.

    The main project-file change is usually just the target frameworks. For example:

    <TargetFrameworks>net10.0-android;net10.0-ios;net10.0-maccatalyst</TargetFrameworks>
    <TargetFrameworks Condition="$([MSBuild]::IsOSPlatform('windows'))">$(TargetFrameworks);net10.0-windows10.0.19041.0</TargetFrameworks>
    

    If your app uses platform-specific features, there are a few things worth checking after the upgrade:

    1. Deprecated MAUI APIs such as older animation methods and older UI types.
    2. Android settings, because .NET 10 moves forward with newer Android tooling.
    3. iOS/Mac Catalyst build requirements, especially if you build with a Mac.
    4. Trimming or AOT settings, if your project already uses them.

    If the app builds cleanly after changing the target frameworks, the move can be fairly small. If it does not, the build errors usually point to the exact API changes that need attention.

    Hope this helps! If my answer was helpful, I would greatly appreciate it if you could follow the instructions here so others with the same problem can benefit as well.

    2 people found this answer helpful.

1 additional answer

Sort by: Most helpful
  1. Q&A Assist
    2026-04-12T16:00:18.0266667+00:00
    AI generated content. This question contains an answer created with AI from Q&A Assist. Learn more

    To move existing .NET MAUI apps from .NET 9 to .NET 10, follow the same pattern used when upgrading from .NET 8 to .NET 9, adapted to the new target framework version.

    1. Install .NET 10 and MAUI workloads
      • Install the .NET 10 SDK on the machine.
      • Install the .NET MAUI workload for .NET 10 (via Visual Studio 2026 installer or dotnet workload install maui once .NET 10 is present).
      • Verify installation by checking that the new SDK appears in dotnet --list-sdks and that the MAUI workload installs without errors.
    2. Update Target Framework Monikers (TFMs) in each MAUI project
      • Open each app’s .csproj file.
      • Change all net9.0-* TFMs to net10.0-*, mirroring the pattern used when going from 8 to 9.
      • For example, the .NET 9 pattern is:
             <TargetFrameworks>net9.0-android;net9.0-ios;net9.0-maccatalyst;net9.0-tizen</TargetFrameworks>
             <TargetFrameworks Condition="$([MSBuild]::IsOSPlatform('windows'))">$(TargetFrameworks);net9.0-windows10.0.19041.0</TargetFrameworks>
        
      • Update this to the equivalent net10.0-* TFMs, keeping any platform version suffixes (like windows10.0.19041.0) the same unless there is a specific reason to change them.
    3. Update NuGet packages and dependencies
      • In each solution, update all MAUI-related and other dependencies to versions that support .NET 10.
      • Restore packages and ensure there are no version conflicts.
    4. Rebuild and run on each target platform
      • Clean and rebuild the solution.
      • Run and test on Android, iOS, macOS, and Windows as applicable.
      • Fix any compile-time or runtime issues that appear after the TFM change.
    5. If coming from Xamarin or older patterns
      • If any parts of the solution are still using older Xamarin-style libraries or patterns, follow the documented migration steps (update to SDK-style projects, update namespaces, address API changes, then compile and troubleshoot) before or alongside the move to .NET 10.

    Once these steps are complete and the apps build and run successfully on all platforms, the MAUI apps will be moved from .NET 9 to .NET 10.


    References:

    1 person found this answer helpful.

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.