Upozornění XA0149 pro .NET pro Android

Ukázkové zprávy

upozornění XA0149: Ignoruje se starší soubor prostředí Xamarin.Android '__AndroidEnvironment__abc123' z balíčku NuGet 'Some.Old.Package' ve verzi '1.2.3' v sestavení '/path/to/Some.Old.Package.dll'. Soubory prostředí z knihoven tříd Xamarin.Android nejsou v .NET pro Android podporovány. Použijte novější verzi tohoto balíčku NuGet nebo upozorněte autora knihovny.

upozornění XA0149: Ignoruje se starší soubor prostředí Xamarin.Android '__AndroidEnvironment__abc123' v sestavení '/path/to/SomeLibrary.dll'. Soubory prostředí z knihoven tříd Xamarin.Android nejsou v .NET pro Android podporovány. Použijte novější verzi tohoto sestavení nebo upozorněte autora knihovny.

Problém

Odkazované sestavení (obvykle ze starší knihovny tříd Xamarin.Android nebo z balíčku NuGet cílícího na MonoAndroid) obsahuje vložený prostředek __AndroidEnvironment__*. .NET pro Android nezpracovává soubory prostředí poskytnuté knihovnami tříd prostřednictvím tohoto staršího mechanismu, takže je tento soubor ignorován.

To úzce souvisí s upozorněním NU1703, které NuGet generuje pro balíčky, jež stále cílí na zastaralý framework MonoAndroid.

Řešení

Aktualizujte na verzi balíčku NuGet nebo knihovny, která cílí net-android (.NET pro Android). Pokud knihovnu udržujete, znovu ji zkompilujte jako knihovnu tříd .NET pro Android, aby se všechny výstupy vytvářely v podporované struktuře AAR .net/env/.

Pokud vaše aplikace vyžaduje proměnné prostředí, deklarujte je přímo v projektu aplikace pomocí @(AndroidEnvironment) položky:

<ItemGroup>
  <AndroidEnvironment Include="env.txt" />
</ItemGroup>