다음을 통해 공유


System.Resources.SatelliteContractVersionAttribute 클래스

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

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

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

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

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

Windows 8.x 스토어 앱

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