Avviso XA0149 di .NET per Android

Messaggi di esempio

avviso XA0149: ignorando il file di ambiente legacy di Xamarin.Android '__AndroidEnvironment__abc123' dal pacchetto NuGet 'Some.Old.Package' versione '1.2.3' nell'assembly '/path/to/Some.Old.Package.dll'. File di ambiente da Xamarin. Le librerie di classi Android non sono supportate in .NET per Android. Usare una versione più recente di questo pacchetto NuGet o inviare una notifica all'autore della libreria.

avviso XA0149: ignorato il file di ambiente legacy di Xamarin.Android '__AndroidEnvironment__abc123' nell'assembly '/path/to/SomeLibrary.dll'. File di ambiente da Xamarin. Le librerie di classi Android non sono supportate in .NET per Android. Usare una versione più recente di questo assembly o inviare una notifica all'autore della libreria.

Issue

Un assembly di riferimento (in genere proveniente da una libreria di classi Xamarin.Android meno recente o da un pacchetto NuGet destinato a MonoAndroid) contiene una risorsa __AndroidEnvironment__* incorporata. .NET per Android non utilizza i file di ambiente forniti dalle librerie di classi tramite questo meccanismo legacy, quindi il file viene ignorato.

Questo è strettamente correlato all'avviso NU1703 che NuGet genera per i pacchetti ancora destinati al framework deprecato MonoAndroid .

Soluzione

Aggiornare a una versione del pacchetto NuGet o della libreria destinata a net-android (.NET per Android). Se si gestisce la libreria, ricompilarla come libreria di classi .NET per Android in modo che tutte le variabili di ambiente siano generate nel layout AAR supportato .net/env/.

Se le variabili di ambiente sono richieste dall'applicazione, dichiararle direttamente nel progetto dell'app usando un @(AndroidEnvironment) elemento:

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