이식성 및 상호 운용성 규칙
이식성 규칙은 여러 플랫폼에서 이식성을 지원합니다. 상호 운용성 규칙은 COM 클라이언트와의 상호 작용을 지원합니다.
이 섹션에서는
규칙 | 묘사 |
---|---|
CA1401: P/Invokes는 표시되지 않아야 | 공개 또는 보호된 메서드를 가진 공개 형식에는 System.Runtime.InteropServices.DllImportAttribute 특성(Visual Basic의 Declare 키워드에 의해 구현됨)이 있습니다. 이러한 메서드는 노출해서는 안 됩니다. |
CA1416: 플랫폼 호환성 유효성 검사 | 구성 요소에서 플랫폼 종속 API를 사용하면 코드가 더 이상 모든 플랫폼에서 작동하지 않습니다. |
CA1417: P/Invokes 문자열 매개 변수에 OutAttribute 사용하지 마세요. |
문자열이 인턴 문자열인 경우 OutAttribute 값으로 전달된 문자열 매개 변수는 런타임을 불안정하게 만들 수 있습니다. |
CA1418: 유효한 플랫폼 문자열 사용 | 플랫폼 호환성 분석기는 유효한 플랫폼 이름 및 버전이 필요합니다. |
CA1419: 'System.Runtime.InteropServices.SafeHandle' 파생된 구체적인 형식에 대한 포함 형식만큼 표시되는 매개 변수가 없는 생성자를 제공합니다. |
System.Runtime.InteropServices.SafeHandle 으로부터 파생된 형식을 위해 포함 형식과 동일한 수준의 가시성을 갖는 매개변수가 없는 생성자를 제공하면 소스 생성 interop 솔루션에서 성능과 사용성을 향상시킬 수 있습니다. |
CA1420: 속성, 형식 또는 특성에는 런타임 마샬링 필요합니다. | 런타임 마샬링을 사용하지 않도록 설정할 때 런타임 마샬링이 필요한 기능을 사용하면 런타임 예외가 발생합니다. |
CA1421: DisableRuntimeMarshallingAttribute가 적용될 때 메서드는 런타임 마샬링을 사용합니다. | 메서드는 런타임 마샬링을 사용하며 런타임 마샬링이 명시적으로 비활성화됩니다. |
CA1422: 플랫폼 호환성 유효성 검사 | 해당 OS(버전)에서 연결할 수 있는 호출 사이트에서 지정된 OS(버전)에서 사용되지 않는 API를 호출하는 것은 권장되지 않습니다. |
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET