Предупреждение .NET для Android XA1040

Примеры сообщений

warning XA1040: The NativeAOT runtime on Android is an experimental feature and not yet suitable for production use. File issues at: https://github.com/dotnet/android/issues

Проблема

NativeAOT — это экспериментальный параметр среды выполнения для .NET для Android. Если включить NativeAOT с помощью $(PublishAot)=true для поддерживаемой публикации или оптимизированной сборки, выдается это предупреждение, чтобы сообщить, что NativeAOT пока не подходит для использования в производственной среде.

Поддерживаемые среды выполнения:

  • CoreCLR (по умолчанию для приложений Android в .NET 11 и более поздних версий)
  • MonoVM, используемая по умолчанию в .NET 10 и более ранних версиях и доступная через $(UseMonoRuntime)=true только на поддерживаемых целевых платформах
  • NativeAOT, выбранный с помощью $(PublishAot)=true для поддерживаемых конфигураций публикации или оптимизированных сборок

В .NET 11 и более поздних версиях $(UseMonoRuntime)=true отклоняется с ошибкой NETSDK1242; это не обходной путь для CoreCLR.

Решение

Чтобы замолчать это предупреждение, можно:

  • Используйте поддерживаемую среду выполнения, удалив $(PublishAot)=true из файла проекта.

  • Установите значение $(EnablePreviewFeatures)true в файле проекта, чтобы подтвердить экспериментальный характер NativeAOT.