SYSLIB-Diagnose für die PInvoke-Quellgenerierung
In der folgenden Tabelle sind die Diagnose-IDs für Plattformaufruf-Analysetools (PInvoke) zur Interoperabilitätsquellgenerierung in .NET 7 und höheren Versionen aufgeführt. Sie werden automatisch von SYSLIB1054
hinsichtlich Stellen benachrichtigt, an denen Sie die Quellgenerierung zur Kompilierzeit zum Generieren von PInvoke-Marshallingcode verwenden können. Weiterhin warnt die Diagnose vor Fehlern im Zusammenhang mit der Verwendung des Quell-Generators.
Diagnose-ID | Titel | Beschreibungen |
---|---|---|
SYSLIB1050 |
Ungültige LibraryImportAttribute-Verwendung | - Die {0}-Methode sollte „static“, „partial“ und nicht generisch sein, wenn sie mit „LibraryImportAttribute“ gekennzeichnet ist. Die P/Invoke-Quellengenerierung ignoriert die {0}-Methode. - Die {0}-Methode ist in einem {1}-Typ enthalten, der nicht als „partial“ gekennzeichnet ist. Die P/Invoke-Quellengenerierung ignoriert die {0}-Methode. - Die Konfiguration von „StringMarshalling“ und „StringMarshallingCustomType“ für die {0}-Methode ist ungültig. |
SYSLIB1051 |
Der angegebene Typ wird von quellgenerierten PInvokes nicht unterstützt. | - Die generierte Quelle verarbeitet das Marshalling des {1}-Parameters nicht. - Die generierte Quelle verarbeitet das Marshalling des Rückgabewerts der {1}-Methode nicht. |
SYSLIB1052 |
Die angegebene Konfiguration wird von quellgenerierten PInvokes nicht unterstützt. | - Die Konfiguration wird von quellengenerierten P/Invokes nicht unterstützt. Wenn die angegebene Konfiguration erforderlich ist, verwenden Sie stattdessen einen regulären DllImport .- Die angegebene Konfiguration für den {1}-Parameter wird von quellengenerierten P/Invokes nicht unterstützt. - Die angegebene Konfiguration für den Rückgabewert der {1}-Methode wird von quellengenerierten P/Invokes nicht unterstützt. - Der angegebene Wert für {1} wird von quellengenerierten P/Invokes nicht unterstützt. - Die angegebene Marshallingkonfiguration wird von quellengenerierten P/Invokes nicht unterstützt. |
SYSLIB1053 |
Die angegebenen LibraryImportAttribute-Argumente können nicht an DllImportAttribute weitergeleitet werden. | '{0}' hat keine Entsprechung in 'DllImportAttribute' und wird nicht weitergeleitet. |
SYSLIB1054 |
Verwenden Sie LibraryImportAttribute anstelle von DllImportAttribute, um PInvoke-Marshallingcode zur Kompilierzeit zu generieren. | |
SYSLIB1055 |
Ungültige CustomMarshallerAttribute-Verwendung | |
SYSLIB1056 |
Der angegebene native Typ ist ungültig. | |
SYSLIB1057 |
Der Marshallertyp weist nicht die erforderliche Form auf. | |
SYSLIB1058 |
Ungültige NativeMarshallingAttribute-Verwendung | |
SYSLIB1059 |
Der Marshallertyp unterstützt das Zuordnen eines Konstruktors nicht. | |
SYSLIB1060 |
Der angegebene Marshallertyp ist ungültig. | |
SYSLIB1061 |
Der Marshallertyp weist inkompatible Methodensignaturen auf. | |
SYSLIB1062 |
Das Projekt muss mit <AllowUnsafeBlocks>true</AllowUnsafeBlocks> aktualisiert werden. |
Weitere Informationen zur Quellgenerierung für PInvoke finden Sie unter Quellgenerierung für Plattformaufrufe und Tutorial: Verwenden von benutzerdefinierten Marshallern in quellgenerierten PInvokes.