Avviso .NET per Android XA1040

Messaggi di esempio

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

Issue

NativeAOT è un'opzione di runtime sperimentale per .NET per Android. Quando si attiva NativeAOT tramite $(PublishAot)=true per una build di pubblicazione o una build ottimizzata supportata, viene emesso questo avviso per indicare che NativeAOT non è ancora adatto all'uso in produzione.

I runtime supportati sono:

  • CoreCLR (impostazione predefinita per le applicazioni Android in .NET 11 e versioni successive)
  • MonoVM, predefinito per .NET 10 e versioni precedenti e disponibile solo tramite $(UseMonoRuntime)=true sulle piattaforme supportate
  • NativeAOT, selezionato da $(PublishAot)=true per la pubblicazione supportata o per compilazioni ottimizzate

In .NET 11 e versioni successive, $(UseMonoRuntime)=true viene rifiutato con l'errore NETSDK1242; non è una scappatoia per aggirare CoreCLR.

Soluzione

Per disattivare questo avviso, è possibile:

  • Usare un runtime supportato rimuovendo $(PublishAot)=true dal file di progetto.

  • Imposta $(EnablePreviewFeatures) su true nel file di progetto per riconoscere la natura sperimentale di NativeAOT.