Compartilhar via


Classe System.Resources.SatelliteContractVersionAttribute

Este artigo fornece comentários complementares à documentação de referência para esta API.

Em aplicativos de desktop, o atributo SatelliteContractVersionAttribute estabelece um contrato entre um assembly principal e todos os seus satélites. Você aplica esse atributo ao assembly principal e passa a ele o número de versão dos assemblies satélites que devem funcionar com a mesma versão do assembly principal. Quando o gerenciador de recursos (ResourceManager objeto) pesquisa recursos, ele carrega explicitamente a versão satélite especificada por esse atributo no assembly principal.

Ao atualizar o assembly principal, você incrementa o número de versão do assembly. No entanto, talvez você não queira enviar novas cópias de seus assemblies satélites se os existentes forem compatíveis com seu aplicativo. Nesse caso, incremente o número de versão do assembly principal, mas deixe o número da versão do contrato satélite o mesmo. O gerenciador de recursos usará seus assemblies satélites existentes.

Se quiser revisar um assembly satélite, mas não o assembly principal, incremente o número de versão no satélite. Neste caso, envie um assembly de política de editor junto com seu assembly satélite, informando que seu novo assembly satélite tem compatibilidade retroativa com seu antigo assembly satélite. O gerenciador de recursos ainda usará o número de contrato antigo escrito no assembly principal com base no atributo SatelliteContractVersionAttribute; no entanto, o carregador será vinculado à versão do assembly satélite especificada pelo assembly de política.

Um fornecedor de um componente compartilhado usa um assembly de política de publicação para declarar compatibilidade sobre uma versão específica de um assembly lançado. Um assembly de política do editor é um assembly com nome forte que tem um nome no formato policy.<major>.<minor>.<ComponentAssemblyName>, e é registrado no Cache de Assembly Global (GAC). A política do editor é gerada a partir de um arquivo de configuração XML (consulte o <bindingRedirect> Element) usando a ferramenta Al.exe (Assembly Linker). O Assembly Linker é usado com a opção /link para vincular o arquivo de configuração XML a um assembly de manifesto, que é armazenado no cache de assembly global. Os conjuntos de políticas do editor podem ser usados quando um fornecedor envia uma versão de manutenção (service pack) que contém correções de bugs.

Aplicativos da Windows 8.x Store

Esse atributo é ignorado em aplicativos da Windows 8.x Store, pois os arquivos PRI (índice de recurso de pacote) não têm semântica de controle de versão. Além disso, o modelo de empacotamento da Windows 8.x Store requer que todos os recursos sejam enviados no mesmo pacote, sem a possibilidade de reimplantar assemblies satélites ou arquivos PRI.