Compartilhar via


Diagnóstico do SYSLIB para a geração de origem do p/invoke

A tabela a seguir mostra as IDs de diagnóstico para analisadores de geração de origem de invocação de plataforma (p/invoke) no .NET 7 e versões posteriores. SYSLIB1054 alerta automaticamente sobre locais nos quais você pode usar a geração de origem para gerar código de marshalling p/invoke no tempo de compilação. O diagnóstico restante alerta você sobre erros relacionados ao uso do gerador de origem.

ID do diagnóstico Title Descrições
SYSLIB1050 Uso de LibraryImportAttribute inválido. – O método '{0}' deve ser 'static', 'partial' e não genérico quando marcado com 'LibraryImportAttribute'. A geração de origem P/Invoke ignorará o método '{0}'.
– O método '{0}' está contido em um tipo '{1}' que não está marcado como 'partial'. A geração de origem P/Invoke ignorará o método '{0}'.
– A configuração de 'StringMarshalling' e 'StringMarshallingCustomType' no método '{0}' é inválida.
SYSLIB1051 O tipo especificado não tem suporte de p/invokes gerados pela origem. – A origem gerada não manipulará o marshalling do parâmetro '{1}'.
– A origem gerada não manipulará o marshalling do valor retornado do método '{1}'.
SYSLIB1052 A configuração especificada não tem suporte de p/invokes gerados pela origem. – A configuração não tem suporte de P/Invokes gerados pela origem. Se a configuração especificada for necessária, use um DllImport regular.
– A configuração especificada para o parâmetro '{1}' não tem suporte de P/Invokes gerados pela origem.
– Não há suporte para a configuração especificada para o valor retornado do método '{1}' por P/Invokes gerados pela origem.
– O valor especificado para '{1}' não tem suporte de P/Invokes gerados pela origem.
– Não há suporte para a configuração de marshaling especificada por P/Invokes gerados pela origem.
SYSLIB1053 Os argumentos LibraryImportAttribute especificados não podem ser encaminhados para DllImportAttribute. '{0}' não tem equivalente em 'DllImportAtttribute' e não será encaminhado.
SYSLIB1054 Use LibraryImportAttribute em vez de DllImportAttribute para gerar código de marshalling p/invoke no tempo de compilação.
SYSLIB1055 Uso de CustomMarshallerAttribute inválido.
SYSLIB1056 O tipo nativo especificado é inválido.
SYSLIB1057 O tipo de marshaller não tem a forma necessária.
SYSLIB1058 Uso de NativeMarshallingAttribute inválido.
SYSLIB1059 O tipo de marshaller não dá suporte ao construtor de alocação.
SYSLIB1060 O tipo de marshaller especificado é inválido.
SYSLIB1061 O tipo de marshaller tem assinaturas de método incompatíveis.
SYSLIB1062 O projeto precisa ser atualizado com <AllowUnsafeBlocks>true</AllowUnsafeBlocks>.

Para obter mais informações sobre a geração de origem para p/invoke, confira Geração de origem para invocação de plataforma e Tutorial: usar marshallers personalizados em P/Invokes gerados pela origem.

Confira também