IL2026: RequiresUnreferencedCode ile özniteliklendirilen üyeler kırpılırken bozulabilir
Neden
ile RequiresUnreferencedCodeAttributeaçıklama ekli bir üyeyi çağırma (veya yansıma yoluyla erişme) .
Örneğin:
[RequiresUnreferencedCode("Use 'MethodFriendlyToTrimming' instead", Url="http://help/unreferencedcode")]
void MethodWithUnreferencedCodeUsage()
{
}
void TestMethod()
{
// IL2026: Using method 'MethodWithUnreferencedCodeUsage' which has 'RequiresUnreferencedCodeAttribute'
// can break functionality when trimming application code. Use 'MethodFriendlyToTrimming' instead. http://help/unreferencedcode
MethodWithUnreferencedCodeUsage();
}
Kural açıklaması
RequiresUnreferencedCodeAttribute , üyenin düzeltici tarafından kaldırılabilir koda başvurduğunu gösterir.
Bazı yaygın örnekler aşağıdakileri içermektedir:
Load(String) olarak
RequiresUnreferencedCode
işaretlenir çünkü yüklenen Derleme kırpılmış üyelere erişebilir. Düzeltici, uygulama tarafından doğrudan kullanılanlar dışındaki tüm üyeleri çerçeveden kaldırır, bu nedenle çalışma zamanında yeni Derlemeler yüklenirken eksik üyelere erişmeye çalışılır.XmlSerializer olarak işaretlenir
RequiresUnreferencedCode
çünküXmlSerializer
giriş türlerini taramak için karmaşık yansıma kullanır. Yansıma, düzeltici tarafından izlenemez, bu nedenle giriş türleri tarafından geçişli olarak kullanılan üyeler kırpılabilir.