.NET for Android 警告 XA0149

範例訊息

警告 XA0149:正在忽略來自 NuGet 套件 'Some.Old.Package' 版本 '1.2.3'、位於組件 '/path/to/Some.Old.Package.dll' 中的舊版 Xamarin.Android 環境檔案 '__AndroidEnvironment__abc123'。 來自 Xamarin 的環境檔案。Android 類別函式庫在 .NET for Android 中不被支援。 使用此 NuGet 套件的較新版本,或通知連結庫作者。

警告 XA0149:正在忽略組件 '/path/to/SomeLibrary.dll' 中的舊版 Xamarin.Android 環境檔案 '__AndroidEnvironment__abc123'。 來自 Xamarin 的環境檔案。Android 類別函式庫在 .NET for Android 中不被支援。 使用較新版本的組裝,或通知函式庫作者。

Issue

參考組件(通常來自較舊的 Xamarin.Android 類別庫,或來自以 MonoAndroid 為目標的 NuGet 套件)包含內嵌的 __AndroidEnvironment__* 資源。 Android 版 .NET 不會使用類庫透過此舊有機制貢獻的環境檔案,因此該檔案被忽略。

這與 NuGet 對仍以已淘汰的 MonoAndroid 架構為目標的套件所發出的 NU1703 警告密切相關。

解決方案

更新至以 net-android 為目標的 NuGet 套件或程式庫版本(適用於 Android 的 .NET)。 如果你維護函式庫,請將其重建為 .NET for Android 類別函式庫,讓任何環境變數都能以支援.net/env/的 AAR 配置產生。

如果您的應用程式需要環境變數,請直接在應用程式專案 @(AndroidEnvironment) 中使用以下項目宣告:

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