Aracılığıyla paylaş


IL2125: Başvurulan derlemeye kırpma uyumluluğu için açıklama eklenmemiş

Nedeni

Bir proje <VerifyReferenceTrimCompatibility>true</VerifyReferenceTrimCompatibility> olarak ayarlandı, ancak bir veya birden fazla başvurulan derlemenin IsTrimmable derleme meta veri özniteliği true olarak ayarlanmamış.

Kural açıklaması

<PublishTrimmed>true</PublishTrimmed> kullanarak kırpılmış bir uygulama yayımladığınızda veya <IsTrimmable>true</IsTrimmable> olarak projenizi kırpılabilir işaretlediğinizde, isteğe bağlı olarak, tüm başvurulan derlemelerin kırpma uyumluluğu için ek açıklama eklendiğini doğrulama yapabilirsiniz. Bu, projenizdeki tüm bağımlılıkların kırpma uyumluluğu için ek açıklamalarla belirtildiğinden emin olmaya yardımcı olur.

Bu doğrulamayı etkinleştirmek için, proje dosyanızda VerifyReferenceTrimCompatibility özelliğini true olarak ayarlayın.

<PropertyGroup>
  <PublishTrimmed>true</PublishTrimmed>
  <VerifyReferenceTrimCompatibility>true</VerifyReferenceTrimCompatibility>
</PropertyGroup>

Bu özellik etkinleştirildiğinde, çözümleyici, tüm başvurulan derlemelerin <IsTrimmable>true</IsTrimmable> ile derlenip derlenmediğini ve bunun sonucu olarak derlemeye [assembly: AssemblyMetadata("IsTrimmable", "True")] düzeyi özniteliğinin eklenip eklenmediğini denetler.

Example

// Assembly reference: MyLibrary.dll (built without <IsTrimmable>true</IsTrimmable>)

public class Program
{
    public static void Main()
    {
        var obj = new MyLibrary.SomeClass();
    }
}
warning IL2125: Referenced assembly 'MyLibrary' is not built with `<IsTrimmable>true</IsTrimmable>` and may not be compatible with trimming.

İ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 <IsTrimmable>true</IsTrimmable>ile derlenecek şekilde güncelleyin. Kitaplıkları kırpma uyumlu hale getirme yönergeleri için bkz. .NET kitaplıklarını kırpma için hazırlama. Tercih edilen yaklaşım budur.
  • Kütüphanenin özniteliğe ihtiyaç olmadan kesme işlemiyle doğru çalıştığına eminseniz, proje dosyanızda doğrulamayı devre dışı bırakmak için ayarını yapın.

Ayrıca bakınız