Android için .NET hatası XA1044

Örnek iletiler

error XA1044: The MSBuild property 'RunAOTCompilation' is not compatible with the CoreCLR runtime. The build cannot continue while this property is enabled. Either remove the property or guard it with a condition: Condition="'$(UseMonoRuntime)' == 'true'"

Bu ileti tarafından önerilen koşul yalnızca Mono destekleyen hedefler için uygundur. .NET 11'de $(UseMonoRuntime)=true ile reddedilir; bunun yerine yalnızca Mono’ya özgü özelliği kaldırın.

Issue

Bu hata, proje dosyasında Mono'ya özgü bir MSBuild özelliğinin ayarlandığını, ancak projenin CoreCLR veya NativeAOT gibi Mono olmayan bir çalışma zamanı kullanacak şekilde yapılandırıldığını gösterir. Derleme, özelliği false olarak sıfırlar; böylece Mono olmayan derleme adımlarına iletilmez, ardından XA1044 ile durur. Bu ne bir uyarıdır ne de sessiz bir no-op'tur.

Bu hatayı tetikleyen özellikler şunlardır:

  • RunAOTCompilation — Mono AOT derlemesini etkinleştirir.
  • EnableLLVM — Mono AOT derleyicisi için LLVM'yi etkinleştirir.

Çözüm

Mono'ya özel özelliği proje dosyanızdan veya Directory.Build.props kaldırın. Bunu yalnızca desteklenen .NET 10 ve önceki Mono hedefleri için geçerli olan proje dosyalarında veya koşullarda bulundurun.

ReadyToRun ve NativeAOT ayrı derleme modelleridir. Mono AOT ayarlarının bire bir karşılığı değildir.