SYSLIB diagnostics for p/invoke source generation
The following table shows the diagnostic IDs for platform-invoke (p/invoke) source-generation analyzers in .NET 7 and later versions. SYSLIB1054
automatically alerts you to places that you can use source generation to generate p/invoke marshalling code at compile time. The remaining diagnostics alert you to errors related to usage of the source generator.
Diagnostic ID | Title | Descriptions |
---|---|---|
SYSLIB1050 |
Invalid LibraryImportAttribute usage. | - Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. - Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. |
SYSLIB1051 |
The specified type is not supported by source-generated p/invokes. | - The generated source will not handle marshalling of parameter '{1}'. - The generated source will not handle marshalling of the return value of method '{1}'. |
SYSLIB1052 |
The specified configuration is not supported by source-generated p/invokes. | - The configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular DllImport instead.- The specified configuration for parameter '{1}' is not supported by source-generated P/Invokes. - The specified configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. - The specified value for '{1}' is not supported by source-generated P/Invokes. - The specified marshalling configuration is not supported by source-generated P/Invokes. |
SYSLIB1053 |
The specified LibraryImportAttribute arguments cannot be forwarded to DllImportAttribute. | '{0}' has no equivalent in 'DllImportAttribute' and will not be forwarded. |
SYSLIB1054 |
Use LibraryImportAttribute instead of DllImportAttribute to generate p/invoke marshalling code at compile time. | |
SYSLIB1055 |
Invalid CustomMarshallerAttribute usage. | |
SYSLIB1056 |
The specified native type is invalid. | |
SYSLIB1057 |
The marshaller type does not have the required shape. | |
SYSLIB1058 |
Invalid NativeMarshallingAttribute usage. | |
SYSLIB1059 |
The marshaller type does not support an allocating constructor. | |
SYSLIB1060 |
The specified marshaller type is invalid. | |
SYSLIB1061 |
The marshaller type has incompatible method signatures. | |
SYSLIB1062 |
The project must be updated with <AllowUnsafeBlocks>true</AllowUnsafeBlocks> . |
For more information about source generation for p/invoke, see Source generation for platform invokes and Tutorial: Use custom marshallers in source-generated P/Invokes.
See also
Συνεργαστείτε μαζί μας στο GitHub
Μπορείτε να βρείτε την πηγή για αυτό το περιεχόμενο στο GitHub, όπου μπορείτε επίσης να δημιουργήσετε και να εξετάσετε ζητήματα και αιτήματα έλξης. Για περισσότερες πληροφορίες, ανατρέξτε στον οδηγό συνεργατών.