Upgrade from Xamarin to .NET
Important
Microsoft support for Xamarin will end on May 1, 2024 for all Xamarin SDKs including Xamarin.Forms. Help us improve your upgrade experience from Xamarin to .NET MAUI by completing this short survey.
Xamarin projects can run on .NET after completing an upgrade process. The following table lists the Xamarin project types that can be upgraded to .NET:
Project type | Upgrade | Guide |
---|---|---|
Xamarin.Android | ✅ | Upgrade Xamarin native projects |
Xamarin.iOS | ✅ | Upgrade Xamarin native projects |
Xamarin.Mac | ✅ | Upgrade Xamarin native projects |
Xamarin.tvOS | ✅ | Upgrade Xamarin native projects |
Xamarin.Forms | ✅ | Upgrade a Xamarin.Forms app to a multi-project .NET MAUI app Upgrade a Xamarin.Forms app to a single project .NET MAUI app |
Xamarin.Forms UWP | ✅ | Xamarin.Forms UWP project migration |
iOS App Extensions | ✅ | Upgrade Xamarin native projects |
Android Wear | ✅ | Upgrade Xamarin native projects |
Android Binding Library | ✅ | Xamarin.Android binding project migration |
iOS Binding Library | ✅ | Xamarin.iOS binding project migration |
SpriteKit | ✅ | Upgrade Xamarin native projects |
SceneKit | ✅ | Upgrade Xamarin native projects |
Metal | ✅ | Upgrade Xamarin native projects |
OpenGL | ❌ (iOS) | Removed from iOS since OpenTK isn't available |
Xamarin.watchOS | ❌ | Recommendation: bundle Swift extensions with .NET for iOS apps |
Important
To upgrade an app from Xamarin to .NET:
- All projects do need to become SDK-style.
- Projects don't need to be rewritten.
- Multi-project solutions don't need to become a multi-targeted single project.
To upgrade your Xamarin native projects to .NET, you'll first have to update the projects to be SDK-style projects and then update your dependencies to .NET 8. For more information, see Upgrade Xamarin.Android, Xamarin.iOS, and Xamarin.Mac projects to .NET.
The .NET Upgrade Assistant is a command-line tool that can help you upgrade multi-project Xamarin.Forms apps to multi-project .NET Multi-platform App UI (.NET MAUI) apps. After running the tool, in most cases the app will require additional effort to complete the upgrade. For more information, see Upgrade a Xamarin.Forms app to a .NET MAUI app with the .NET Upgrade Assistant.
You can also manually upgrade at Xamarin.Forms app to a multi-project .NET MAUI app with a two-step process:
- Upgrade your Xamarin native projects, in your Xamarin.Forms solution, to .NET. For more information, see Upgrade Xamarin.Android, Xamarin.iOS, and Xamarin.Mac apps to .NET. In addition, you can upgrade your Xamarin.Forms UWP project to a .NET MAUI WinUI 3 project. For more information, see Xamarin.Forms UWP project migration.
- Upgrade your Xamarin.Forms library project to .NET Multi-platform App UI (.NET MAUI). For more information, see Manually upgrade a Xamarin.Forms app to a multi-project .NET MAUI app.
Alternatively, you can manually upgrade a Xamarin.Forms app to a single-project .NET MAUI app. For more information, see Manually upgrade a Xamarin.Forms app to a single project .NET MAUI app.