Users updating their apps from Xamarin.Forms to .NET MAUI will hit an issue if they stored data in secure storage using Xamarin.Essentials SecureStorage. On iOS, the preferences shared name has changed. On Android, a different encryption approach is used and the preferences shared name has changed.
In Xamarin.Essentials the preferences shared name is {your-app-package-id}.xamarinessentials. In .NET MAUI the preferences shared name is {your-app-package-id}.microsoft.maui.essentials.preferences.
Write a doc that explains how to migrate data from Xamarin.Essentials SecureStorage to .NET MAUI SecureStorage.
After looking at this I've realised that it's really three separate tasks:
Migrate from Xamarin.Forms App.Properties to .NET MAUI Preferences. This will trip users up because (1) the Properties dict threw a NotSupportedException in .NET 6/7 (rather than being obsolete but working), and has been completely removed in .NET 8.
Migrate Xamarin.Essentials VersionTracking to .NET MAUI VersionTracking (different shared name for the preferences).
Migrate from Xamarin.Essentials SecureStorage to .NET MAUI SecureStorage (different filenames used, and completely different encryption approach used on Android).
I'm going to rename this issue to make it about (3), and will open separate issues for (1) + (2).
Users updating their apps from Xamarin.Forms to .NET MAUI will hit an issue if they stored data in secure storage using Xamarin.Essentials
SecureStorage
. On iOS, the preferences shared name has changed. On Android, a different encryption approach is used and the preferences shared name has changed.In Xamarin.Essentials the preferences shared name is {your-app-package-id}.xamarinessentials. In .NET MAUI the preferences shared name is {your-app-package-id}.microsoft.maui.essentials.preferences.
Write a doc that explains how to migrate data from Xamarin.Essentials
SecureStorage
to .NET MAUISecureStorage
.Associated WorkItem - 155404