Partage via


Diagnostics SYSLIB pour la génération de source p/invoke

Le tableau suivant montre les ID de diagnostic pour les analyseurs de génération de source platform-invoke (p/invoke) dans .NET 7 et versions ultérieures. SYSLIB1054 vous avertit automatiquement des emplacements où vous pouvez utiliser la génération de source pour générer du code de marshaling p/invoke au moment de la compilation. Les diagnostics restants vous alertent en cas d’erreurs liées à l’utilisation du générateur de source.

ID de diagnostic Intitulé Descriptions
SYSLIB1050 Utilisation non valide de LibraryImportAttribute. - La méthode « {0} » doit être « static », « partial » et non générique lorsqu’elle est marquée comme « LibraryImportAttribute ». La génération de source P/Invoke ignorera la méthode « {0} ».
- La méthode « {0} » est contenue dans un type « {1} » qui n’est pas marqué comme « partial ». La génération de source P/Invoke ignorera la méthode « {0} ».
- La configuration de « StringMarshalling » et de « StringMarshallingCustomType » sur la méthode « {0} » n’est pas valide.
SYSLIB1051 Le type spécifié n’est pas pris en charge par les P/Invokes générés par la source. - La source générée ne gérera pas le marshaling du paramètre « {1} ».
- La source générée ne gérera pas le marshaling de la valeur renvoyée de la méthode « {1} ».
SYSLIB1052 La configuration spécifiée n’est pas prise en charge par les P/Invokes générés par la source. - La configuration n’est pas prise en charge par les P/Invokes générés par la source. Si la configuration spécifiée est requise, utilisez un DllImport standard à la place.
- La configuration spécifiée pour le paramètre « {1} » n’est pas prise en charge par les P/Invokes générés par la source.
- La configuration spécifiée pour la valeur renvoyée de la méthode « {1} » n’est pas prise en charge par les P/Invokes générés par la source.
- La valeur spécifiée pour « {1} » n’est pas prise en charge par les P/Invokes générés par la source.
- La configuration de marshaling spécifiée n’est pas prise en charge par les P/Invokes générés par la source.
SYSLIB1053 Les LibraryImportAttribute arguments spécifiés ne peuvent pas être transférés à DllImportAttribute. « {0} » n’a pas d’équivalent dans « DllImportAtttribute » et ne sera pas transféré.
SYSLIB1054 Utilisez LibraryImportAttribute au lieu de DllImportAttribute pour générer du code de marshalling p/invoke au moment de la compilation.
SYSLIB1055 Utilisation non valide de CustomMarshallerAttribute.
SYSLIB1056 Le type natif spécifié est non valide.
SYSLIB1057 Le type Marshaller n’a pas la forme requise.
SYSLIB1058 Utilisation non valide de NativeMarshallingAttribute.
SYSLIB1059 Le type Marshaller ne prend pas en charge un constructeur d’allocation.
SYSLIB1060 Le type de marshaleur spécifié n’est pas valide.
SYSLIB1061 Le type Marshaller a des signatures de méthode incompatibles.
SYSLIB1062 Le projet doit être mis à jour avec <AllowUnsafeBlocks>true</AllowUnsafeBlocks>.

Pour plus d’informations sur la génération de source pour p/invoke, consultez Génération de source pour les appels de plateforme et Tutoriel : Utiliser des marshaleurs personnalisés dans les P/Invokes générés par la source.

Voir aussi