Android için .NET uyarısı XA1040

Örnek iletiler

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

Sorun

NativeAOT, Android için .NET için deneysel bir çalışma zamanı seçeneğidir. Desteklenen bir yayımlama veya iyileştirilmiş derleme için aracılığıyla $(PublishAot)=true NativeAOT'yi etkinleştirdiğinizde, NativeAOT'un üretim kullanımı için henüz uygun olmadığını belirtmek için bu uyarı gönderilir.

Desteklenen çalışma zamanları şunlardır:

  • CoreCLR (.NET 11 ve sonraki sürümlerde Android uygulamaları için varsayılandır)
  • MonoVM, .NET 10 ve öncesi için varsayılandır ve yalnızca desteklenen hedeflerde kullanılabilir $(UseMonoRuntime)=true
  • $(PublishAot)=true tarafından desteklenen yayımlama veya iyileştirilmiş derlemeler için seçilen NativeAOT

.NET 11 ve sonraki sürümlerde, $(UseMonoRuntime)=true, NETSDK1242 hatasıyla reddedilir; CoreCLR’yi aşmanın bir yolu değildir.

Çözüm

Bu uyarıyı susturmak için şunları yapabilirsiniz:

  • Desteklenen bir çalışma zamanı kullanmak için $(PublishAot)=true kodunu proje dosyanızdan kaldırın.

  • Proje dosyanızda $(EnablePreviewFeatures) değerini true olarak ayarlayın ve NativeAOT'un deneysel doğasını kabul edin.