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

更新:2007 年 11 月

使用 DllImportAttribute 声明了一个非共享过程。

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

由于 .NET Framework 外部的非托管平台不像 .NET Framework 一样支持非共享过程,因此无法使用非托管过程与它们交互操作。

**错误 ID:**BC31529

更正此错误

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

  • 如果过程不能为 Shared,请从此过程的声明中移除 DllImportAttribute

请参见

参考

DllImportAttribute

Shared (Visual Basic)