Предупреждение XA4257 в .NET for Android

Пример сообщения

warning XA4257: Skipping Java peer type 'Google.Android.Material.Shadow.ShadowDrawableWrapper' from assembly 'Xamarin.Google.Android.Material' because referenced type 'AndroidX.AppCompat.Graphics.Drawable.DrawableWrapper' from assembly 'Xamarin.AndroidX.AppCompat.AppCompatResources' could not be resolved in '/home/user/.nuget/packages/xamarin.androidx.appcompat.appcompatresources/1.6.0/lib/net6.0-android31.0/Xamarin.AndroidX.AppCompat.AppCompatResources.dll'. This type will not be included in the trimmable type map.

Issue

Карта типов с усечением обнаружила одноранговый тип Java, управляемый базовый тип или реализуемый интерфейс которого ссылается на тип, отсутствующий в разрешённом наборе сборок.

Это может произойти, если пакеты NuGet в графе привязок Android были собраны с использованием разных версий другого пакета привязок. Этот тип может не использоваться приложением, но NativeAOT работает в модели закрытого мира и должен заранее разрешить корневые типы управляемого кода.

Решение

Если приложение использует пропущенный тип, обновите затронутые пакеты NuGet таким образом, чтобы указанный тип существовал, или обновите версии пакетов привязки, совместимых друг с другом.

Если приложение не использует пропущенный тип, никаких действий не требуется. Тип исключён из карты типов, подлежащих триммингу, поэтому NativeAOT не завершается с ошибкой при разрешении неиспользуемых устаревших метаданных.