'System.Runtime.InteropServices.DllImportAttribute' não pode ser aplicado a métodos de instância

Um procedimento não compartilhado é declarado com o DllImportAttribute.

O CLR (Common Language Runtime) reconhece esse atributo e sua EntryPoint propriedade como designando um procedimento de substituição definido em uma DLL (biblioteca de vínculo dinâmico) não gerenciada fora do .NET Framework. Quando o código chama o procedimento ao qual o DllImportAttribute é aplicado, o ambiente de execução comum chama o procedimento não gerenciado designado.

Como plataformas não gerenciadas fora do .NET Framework não dão suporte a procedimentos não compartilhados da mesma forma que o .NET Framework, você não pode interoperá-los usando procedimentos não compartilhados.

ID do erro: BC31529

Para corrigir este erro

  • Se o procedimento não precisar ser aplicado individualmente a cada instância de sua classe ou estrutura, declare-o como Shared.

  • Se o procedimento não puder ser Shared, remova o DllImportAttribute da declaração deste procedimento.

Consulte também