Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Nedeni
Bir proje <VerifyReferenceAotCompatibility>true</VerifyReferenceAotCompatibility> ayarlandı ve referans alınan bir veya daha fazla derlemenin IsAotCompatible derleme meta veri özniteliği true olarak ayarlanmadı.
Kural açıklaması
Projenizi <PublishAot>true</PublishAot> ile AOT uyumlu olarak işaretlediğinizde veya <IsAotCompatible>true</IsAotCompatible> kullanarak yerel AOT ile yayımladığınızda, isteğe bağlı olarak tüm başvurulan derlemelerin de AOT uyumluluğu için ek açıklamalarla anotlanmış olduğunu doğrulamayı etkinleştirebilirsiniz. Bu, projenizdeki tüm bağımlılıkların AOT uyumluluğu için belirtilmesini sağlamaya yardımcı olur.
Bu doğrulamayı etkinleştirmek için proje dosyanızda VerifyReferenceAotCompatibility özelliği true olarak ayarlayın.
<PropertyGroup>
<PublishAot>true</PublishAot>
<VerifyReferenceAotCompatibility>true</VerifyReferenceAotCompatibility>
</PropertyGroup>
Bu özellik etkinleştirildiğinde, çözümleyici, derleme düzeyi özniteliği <IsAotCompatible>true</IsAotCompatible>'in derlemeye eklenmesini sağlayan tüm başvurulan derlemelerin [assembly: AssemblyMetadata("IsAotCompatible", "True")] ile derlendiğini denetler.
Example
// Assembly reference: MyLibrary.dll (built without <IsAotCompatible>true</IsAotCompatible>)
public class Program
{
public static void Main()
{
var obj = new MyLibrary.SomeClass();
}
}
warning IL3058: Referenced assembly 'MyLibrary' is not built with `<IsAotCompatible>true</IsAotCompatible>` and may not be compatible with AOT.
İhlalleri düzeltme
Bu uyarıyı düzeltmek için çeşitli seçenekleriniz vardır:
- Kütüphane kaynak kodunu denetlerseniz, kütüphaneyi
<IsAotCompatible>true</IsAotCompatible>ile derlenecek şekilde güncelleyin.IsAotCompatibleözelliği derlemeyi Yerel AOT ile uyumlu olarak işaretler ve AOT'ye özgü analizi etkinleştirir. Tercih edilen yaklaşım budur. - Eğer kütüphanenin özniteliğe ihtiyaç duymadan Native AOT ile doğru çalıştığından eminseniz, proje dosyanıza ayar yaparak doğrulamayı devre dışı bırakın.