이식성 및 상호 운용성 규칙

이식성 규칙은 다양한 플랫폼에서 이식성을 지원합니다. 상호 운용성 규칙은 COM 클라이언트와 상호 작용을 지원합니다.

단원 내용

규칙 설명
CA1401: P/Invoke는 노출되지 않아야 합니다. public 형식의 public 또는 protected 메서드에 System.Runtime.InteropServices.DllImportAttribute 특성(Visual Basic의 선언 키워드에서 구현함)이 있습니다. 이러한 메서드는 노출되지 않아야 합니다.
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를 호출하는 것은 권장되지 않습니다.