.NET för Android-varning XA0149

Exempelmeddelanden

varning XA0149: Ignorerar den äldre Xamarin.Android-miljöfilen '__AndroidEnvironment__abc123' från NuGet-paketet 'Some.Old.Package' version '1.2.3' i sammansättningen '/path/to/Some.Old.Package.dll'. Miljöfiler från Xamarin. Android-klassbibliotek stöds inte i .NET för Android. Använd en nyare version av det här NuGet-paketet eller meddela biblioteksförfattaren.

varning XA0149: Ignorerar den äldre Xamarin.Android-miljöfilen "__AndroidEnvironment__abc123" i sammansättningen "/path/to/SomeLibrary.dll". Miljöfiler från Xamarin. Android-klassbibliotek stöds inte i .NET för Android. Använd en nyare version av den här sammansättningen eller meddela biblioteksförfattaren.

Problematik

En refererad sammanställning (vanligtvis från ett äldre Xamarin.Android-klassbibliotek eller ett NuGet-paket som riktar sig mot MonoAndroid) innehåller en inbäddad __AndroidEnvironment__*-resurs. .NET för Android behandlar inte miljöfiler som tillhandahålls av klassbibliotek via den här äldre mekanismen, så filen ignoreras.

Detta är nära relaterat till NU1703-varningen att NuGet genererar för paket som fortfarande riktar sig mot det inaktuella MonoAndroid ramverket.

Lösning

Uppdatera till en version av NuGet-paketet eller biblioteket som riktar sig mot net-android (.NET för Android). Om du underhåller biblioteket bygger du om det som ett .NET för Android-klassbibliotek så att alla miljövariabler skapas i den AAR-layout som stöds .net/env/.

Om miljövariablerna krävs av ditt program deklarerar du dem direkt i ditt appprojekt med hjälp av ett @(AndroidEnvironment) objekt:

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