다음을 통해 공유


System.Resources.SatelliteContractVersionAttribute 클래스

이 문서는 이 API에 대한 참조 설명서를 보충하는 추가 설명을 제공합니다.

데스크톱 앱에서 SatelliteContractVersionAttribute 속성은 주 어셈블리와 모든 위성 어셈블리 간에 계약을 설정합니다. 이 특성을 주 어셈블리에 적용하고 이 버전의 주 어셈블리에서 작동하는 위성 어셈블리의 버전 번호를 전달합니다. 리소스 관리자(ResourceManager 개체)가 리소스를 조회하면 주 어셈블리에 이 특성으로 지정된 위성 버전을 명시적으로 로드합니다.

주 어셈블리를 업데이트하면 어셈블리 버전 번호가 증가합니다. 그러나 기존 어셈블리가 앱과 호환되는 경우 위성 어셈블리의 새 복사본을 제공하지 않을 수 있습니다. 이 경우 주 어셈블리의 버전 번호를 증가하지만 위성 계약 버전 번호는 동일하게 유지합니다. 리소스 관리자는 기존 위성 어셈블리를 사용합니다.

주 어셈블리가 아닌 위성 어셈블리를 수정하려면 위성의 버전 번호를 증분합니다. 이 경우, 새 위성 어셈블리가 이전 위성 어셈블리와의 이전 버전 호환성을 가지고 있음을 설명하는 게시자 정책 어셈블리를 위성 어셈블리와 함께 발송하십시오. 리소스 관리자는 특성에 SatelliteContractVersionAttribute 따라 주 어셈블리에 기록된 이전 계약 번호를 계속 사용합니다. 그러나 로더는 정책 어셈블리에 지정된 위성 어셈블리 버전에 바인딩됩니다.

공유 구성 요소의 공급업체는 게시자 정책 어셈블리를 사용하여 릴리스된 어셈블리의 특정 버전에 대한 호환성 문을 만듭니다. 게시자 정책 어셈블리는 이름이 형식 policy.<major>.<minor>.<ComponentAssemblyName>인 강력한 이름의 어셈블리이며 GAC(전역 어셈블리 캐시)에 등록됩니다. 게시자 정책은 < 도구를 사용하여 XML 구성 파일(bindingRedirect> 요소 참조)에서 생성됩니다. 어셈블리 링커는 /link 옵션을 사용하여 XML 구성 파일을 매니페스트 어셈블리에 연결한 후 전역 어셈블리 캐시에 저장하는 데 사용됩니다. 공급업체에서 버그 수정이 포함된 유지 관리 릴리스(서비스 팩)를 제공하는 경우 게시자 정책 어셈블리를 사용할 수 있습니다.

Windows 8.x 스토어 앱

PRI(패키지 리소스 인덱스) 파일에 버전 관리 의미 체계가 없으므로 Windows 8.x 스토어 앱에서는 이 특성이 무시됩니다. 또한 Windows 8.x 스토어 패키징 모델을 사용하려면 위성 어셈블리 또는 PRI 파일을 다시 배포할 가능성 없이 모든 리소스를 동일한 패키지로 배송해야 합니다.