다음을 통해 공유


'System.Runtime.InteropServices.DllImportAttribute'는 인스턴스 메서드에 적용할 수 없습니다.

업데이트: 2007년 11월

'System.Runtime.InteropServices.DllImportAttribute' cannot be applied to instance methods

공유되지 않는 프로시저가 DllImportAttribute로 선언되었습니다.

CLR(공용 언어 런타임)은 이 특성 및 해당 EntryPoint 속성이 .NET Framework 외부의 관리되지 않은 DLL(동적 연결 라이브러리)에 정의된 대체 프로시저를 지정하는 것으로 인식합니다. 코드에서 DllImportAttribute가 적용된 프로시저를 호출하면 공용 언어 런타임은 관리되지 않은 지정된 프로시저를 대신 호출합니다.

.NET Framework 외부의 비관리 플랫폼에서는 공유되지 않는 프로시저를 .NET Framework에서와 동일한 방식으로 사용할 수 없으므로 공유되지 않는 프로시저를 사용하여 비관리 플랫폼과 상호 운영할 수 없습니다.

오류 ID: BC31529

이 오류를 해결하려면

  • 프로시저의 클래스 또는 구조체의 각 인스턴스에 해당 프로시저를 개별적으로 적용할 필요가 없는 경우 이 프로시저를 Shared로 선언합니다.

  • 프로시저가 Shared가 될 수 없는 경우에는 이 프로시저의 선언에서 DllImportAttribute를 제거합니다.

참고 항목

참조

DllImportAttribute

Shared(Visual Basic)