“System.Runtime.InteropServices.DllImportAttribute”不能应用于实例方法

使用DllImportAttribute声明非共享过程。

公共语言运行时 (CLR) 将此属性及其 EntryPoint 属性识别为指定在 .NET Framework 外部的非托管动态链接库 (DLL) 中定义的替换过程。 当代码调用应用了 DllImportAttribute 的过程时,公共语言运行时将改为调用指定的非托管过程。

由于 .NET Framework 外部的非托管平台不支持与 .NET Framework 相同的非共享过程,因此不能使用非共享过程进行互操作。

错误 ID: BC31529

更正此错误

  • 如果过程不需要单独应用于其类或结构的每个实例,则将其声明为 Shared

  • 如果该过程不能执行 Shared,则将 DllImportAttribute 从此过程的声明中移除。

另见