다음을 통해 공유


p/invoke 원본 생성을 위한 SYSLIB 진단

다음 표에서는 .NET 7 및 이후 버전의 플랫폼 호출(p/invoke) 원본 생성 분석기 진단 ID를 보여줍니다. SYSLIB1054는 원본 생성을 사용하여 컴파일 시간에 p/invoke 마샬링 코드를 생성할 수 있는 위치를 자동으로 알려줍니다. 나머지 진단은 원본 생성기의 사용과 관련된 오류를 경고합니다.

진단 ID 타이틀 설명
SYSLIB1050 LibraryImportAttribute 사용이 잘못되었습니다. - 'LibraryImportAttribute'로 표시된 경우 '{0}' 메서드는 'static', 'partial' 및 제네릭이 아닌 형식이어야 합니다. P/Invoke 원본 생성에서는 '{0}' 메서드를 무시합니다.
- '{0}' 메서드가 'partial'로 표시되지 않은 '{1}' 형식에 포함되어 있습니다. P/Invoke 원본 생성에서는 '{0}' 메서드를 무시합니다.
- '{0}' 메서드의 'StringMarshalling' 및 'StringMarshallingCustomType' 구성이 잘못되었습니다.
SYSLIB1051 지정된 형식은 원본에서 생성된 p/invokes에서 지원하지 않습니다. - 생성된 원본은 '{1}' 매개 변수의 마샬링을 처리하지 않습니다.
- 생성된 원본은 '{1}' 메서드 반환 값의 마샬링을 처리하지 않습니다.
SYSLIB1052 지정된 구성은 원본에서 생성된 p/invokes에서 지원하지 않습니다. - 원본 생성 P/Invoke에서는 구성이 지원되지 않습니다. 지정된 구성이 필요한 경우 대신 일반 DllImport를 사용합니다.
- '{1}' 매개 변수에 대해 지정된 구성은 원본 생성 P/Invoke에서 지원되지 않습니다.
- '{1}' 메서드의 반환 값에 대해 지정된 구성은 원본 생성 P/Invoke에서 지원되지 않습니다.
- '{1}'에 지정된 값은 원본 생성 P/Invoke에서 지원되지 않습니다.
- 지정된 마샬링 구성은 소스 생성 P/Invoke에서 지원되지 않습니다.
SYSLIB1053 지정된 LibraryImportAttribute 인수를 DllImportAttribute로 전달할 수 없습니다. '{0}'에는 'DllImportAtttribute'에 해당하는 항목이 없으므로 전달되지 않습니다.
SYSLIB1054 DllImportAttribute 대신 LibraryImportAttribute를 사용하여 컴파일 시간에 p/invoke 마샬링 코드를 생성합니다.
SYSLIB1055 CustomMarshallerAttribute 사용이 잘못되었습니다.
SYSLIB1056 지정한 네이티브 형식이 잘못되었습니다.
SYSLIB1057 마샬러 형식에 필요한 셰이프가 없습니다.
SYSLIB1058 NativeMarshallingAttribute 사용이 잘못되었습니다.
SYSLIB1059 마샬러 형식은 생성자 할당을 지원하지 않습니다.
SYSLIB1060 지정된 마샬러 형식이 잘못되었습니다.
SYSLIB1061 마샬러 형식에 호환되지 않는 메서드 시그니처가 있습니다.
SYSLIB1062 프로젝트를 <AllowUnsafeBlocks>true</AllowUnsafeBlocks>로 업데이트해야 합니다.

p/invoke의 원본 생성에 관한 자세한 내용은 플랫폼 호출에 대한 원본 생성자습서: 원본에서 생성된 P/Invokes에서 사용자 지정 마샬러 사용을 참조하세요.

추가 정보