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.