"System.Runtime.InteropServices.DllImportAttribute" nie można zastosować do metod instancyjnych

Procedura nieudostępniana jest deklarowana za pomocą polecenia DllImportAttribute.

Środowisko uruchomieniowe języka wspólnego (CLR) rozpoznaje ten atrybut i jego EntryPoint właściwość jako wyznaczającą procedurę zastępczą zdefiniowaną w niezarządzanej bibliotece linków dynamicznych (DLL) poza programem .NET Framework. Gdy kod wywołuje procedurę, do której zastosowano DllImportAttribute, środowisko uruchomieniowe języka wspólnego wywołuje zamiast tego wyznaczoną procedurę niezarządzaną.

Ponieważ platformy niezarządzane poza programem .NET Framework nie obsługują procedur nieudostępnianych w taki sam sposób, jak program .NET Framework, nie można z nimi współpracować przy użyciu procedur nieudostępnianych.

Identyfikator błędu: BC31529

Aby naprawić ten błąd

  • Jeśli procedura nie musi być stosowana indywidualnie do każdego wystąpienia klasy lub struktury, zadeklaruj ją jako Shared.

  • Jeśli nie można wykonać Sharedprocedury , usuń element DllImportAttribute z deklaracji tej procedury.

Zobacz także