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}'은(는) 'DllImportAttribute'에 해당하지 않으며 전달되지 않습니다. |
SYSLIB1054 |
DllImportAttribute 대신 LibraryImportAttribute를 사용하여 컴파일 시간에 p/invoke 마샬링 코드를 생성합니다. | |
SYSLIB1055 |
CustomMarshallerAttribute 사용이 잘못되었습니다. | |
SYSLIB1056 |
지정한 네이티브 형식이 잘못되었습니다. | |
SYSLIB1057 |
마샬러 형식에 필요한 셰이프가 없습니다. | |
SYSLIB1058 |
NativeMarshallingAttribute 사용이 잘못되었습니다. | |
SYSLIB1059 |
마샬러 형식은 생성자 할당을 지원하지 않습니다. | |
SYSLIB1060 |
지정된 마샬러 형식이 잘못되었습니다. | |
SYSLIB1061 |
마샬러 형식에 호환되지 않는 메서드 시그니처가 있습니다. | |
SYSLIB1062 |
프로젝트를 <AllowUnsafeBlocks>true</AllowUnsafeBlocks> 로 업데이트해야 합니다. |
p/invoke의 원본 생성에 관한 자세한 내용은 플랫폼 호출에 대한 원본 생성 및 자습서: 원본에서 생성된 P/Invokes에서 사용자 지정 마샬러 사용을 참조하세요.
추가 정보
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET