'System.Runtime.InteropServices.DllImportAttribute' no se puede aplicar a los métodos de instancia

Un procedimiento no compartido se declara con .DllImportAttribute

Common Language Runtime (CLR) reconoce este atributo y su EntryPoint propiedad como designando un procedimiento de reemplazo definido en una biblioteca de vínculos dinámicos (DLL) no administrada fuera de .NET Framework. Cuando el código llama al procedimiento al cual se aplica DllImportAttribute, el entorno de ejecución de lenguaje común llama al procedimiento no administrado designado en su lugar.

Dado que las plataformas no administradas fuera de .NET Framework no admiten procedimientos no compartidos de la misma manera que lo hace .NET Framework, no se puede interoperar con ellas mediante procedimientos no compartidos.

Identificador de error: BC31529

Para corregir este error

  • Si el procedimiento no necesita aplicar individualmente a cada instancia de su clase o estructura, declare como Shared.

  • Si el procedimiento no puede ser Shared, quite DllImportAttribute de la declaración de este procedimiento.

Consulte también