Search code examples
c#xamluno-platform

Does Uno.UI 3.3.x really require a change to TargetFrameworks?


Currently in my Uno Class Library, I was referencing Uno.UI 3.0.17 with the following TargetFrameworks:

<TargetFrameworks>netstandard2.0;xamarinios10;monoandroid80;monoandroid90;MonoAndroid11.0;uap10.0.17763</TargetFrameworks>

Updating my nuget packages to use the latest stable of Uno.UI 3.3.0, compilation fails. To get a successful build I updated my TargetFrameworks:

 <TargetFrameworks>netstandard2.0;xamarinios10;MonoAndroid11.0;uap10.0.17763</TargetFrameworks>

I had to drop the monoandroid80 and monoandroid90 targets? Why?


Solution

  • Uno Platform typically supports the most recent major Android SDK version and the one immediately previous, so currently Android 11 and Android 10. It's normal that you had to update to a newer TargetFramework when you updated Uno.

    Note that the code will still run just fine on Android 9 and older devices. However your class library won't compile with older versions of the SDK, ie the apps consuming it will also have to upgrade to target the newer Android version.

    But in any case, as of November 2020, new apps and updated versions of existing apps must target at least Android 10 to be submitted to the Google Play Store, so there's little reason to stay on older versions of the SDK.