IL2026 : Les membres attribués avec RequiresUnreferencedCode peuvent s’arrêter lors du découpage
Appel (ou accès via la réflexion) d’un membre annoté avec RequiresUnreferencedCodeAttribute.
Par exemple :
[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();
}
RequiresUnreferencedCodeAttribute indique que le membre fait référence au code qui peut être supprimé par l’outil de découpage.
Voici quelques exemples communs :
Load(String) est marqué comme
RequiresUnreferencedCode
, car l’assembly chargé peut accéder aux membres qui ont été découpés. L’outil de découpage supprime tous les membres de l’infrastructure à l’exception des membres directement utilisés par l’application. Il est donc probable que le chargement de nouveaux assemblys au moment de l’exécution tente d’accéder aux membres manquants.XmlSerializer est marqué comme
RequiresUnreferencedCode
, carXmlSerializer
utilise une réflexion complexe pour analyser les types d’entrée. La réflexion ne peut pas être suivie par l’outil de découpage, donc les membres transitivement utilisés par les types d’entrée peuvent être découpés.
Commentaires sur .NET
.NET est un projet open source. Sélectionnez un lien pour fournir des commentaires :