Versionamento de Assembly

Todos os versionamentos de assemblys que usam o Common Language Runtime são feitos no nível do assembly.A versão de um assembly e as versões de assemblys dependentes são registradas no manifesto do assembly.O política de versões padrão do ambiente de execução diz que aplicativos devem executar somente com as versões com que foram criados e testados, a menos que essa política de versões seja anulada por uma outra política explícitada nos arquivos de configuração (o arquivo de configuração do aplicativo, o arquivo de política de editor e o arquivo de configuração do administrador do computador).

Observação:

Versionamento é feito somente em assemblys com nomes fortes.

O ambiente de execução executa as seguintes etapas para resolver uma solicitação de ligação de assembly:

  1. Verificar a referência do assembly original para determinar qual versão do assembly deve ser ligada.

  2. Verificar os arquivos de configuração apropriados para aplicar um política de versões.

  3. Determinar o assembly correto a partir da referência do assembly original e de qualquer redirecionamento especificado nos arquivos de configuração. Determinar a versão que deve ser ligada ao assembly sendo chamado.

  4. Verifica a cache global de assemblys, bases de código especificadas em arquivos de configuração, e, em seguida, verifica os diretórios e subdiretórios do aplicativo usando as regras de probing explicadas em Como o Ambiente de Execução Localiza Assemblys.

A ilustração a seguir mostra essas etapas.

Resolvendo uma solicitação de ligação de assembly

Para obter mais informações sobre como configurar aplicativos, consulte Configuration Files.Para obter mais informações sobre políticas de ligação, consulte Como o Ambiente de Execucão Localiza Assemblys.

Informações sobre versão

Cada assembly possui duas maneiras diferentes de expressar informações de versão:

  • O número de versão do assembly que, em conjunto com o nome e a cultura do assembly, faz parte da identidade do assembly.Esse número é usado pelo tempo de execução para impor a diretiva de versão e desempenha um papel essencial no processo de resolução de tipos no tempo de execução.

  • Através de uma versão informativa, uma sequência que representa informações de versão adicionais incluída apenas para fins informativos.

Número de Versão do Assembly

Cada Assembly tem um número de versão como parte de sua identidade.Dessa forma, dois assemblys que diferem pelo número de versão são considerados pelo ambiente de execução assemblys completamente diferentes.Fisicamente, esse número de versão é representado através de uma sequência dividida em quatro partes com o seguinte formato:

<versão principal >.< versão secundária >.< número de compilação >.< revisão>

Por exemplo, a versão 1.5.1254.0 indica que 1 é a versão principal, 5 é a versão secundária, 1254 é o número de compilação e 0 é o número de revisão.

O número de versão é armazenado no manifesto do assembly junto com outras informações de a identidade, incluindo o nome e a chave pública do assembly e informações de relacionamentos e identidades de outros assemblys conectados ao aplicativo.

Quando um assembly é criado, a ferramenta de desenvolvimento registra as informações de dependência de cada assembly referenciado no manifesto do assembly.O ambiente de execução usa esses números versão, em conjunto com informações de configuração definidas por um administrador, por um aplicativo, ou por um publisher, a fim de carregar a versão apropriada de um assembly referenciado.

O ambiente de execução distingue assemblys regulares de assemblys com nomes fortes para fins de versionamento.A verificação de versão só ocorre em assemblys com nomes fortes.

Para obter informações sobre como especificar diretivas de ligação de versão, consulte Configuration Files.Para obter informações sobre como o ambiente de execução usa informações de versão para localizar um Assembly específico, consulte Como o Ambiente de Execução Localiza Assemblys.

Versão Informativa do Assembly

A versão informativa é uma sequência de caracteres que anexa informações adicionais de versão a um assembly apenas para fins informativos; essa informação não é usada no tempo de execução.A versão em texto informativa corresponde a literatura de marketing, embalagem ou nome do produto e não é usada pelo tempo de execução.Por exemplo, uma versão informativa poderia ser "Common Language Runtime Version 1.0" ou "NET Control SP 2".Na guia Versão da caixa de diálogo propriedades de arquivo no Microsoft Windows, essas informações são exibidas no item "Versão do produto".

Observação:

Embora você possa especificar qualquer texto, uma mensagem de aviso aparecerá durante a compilação em dois casos: (i) se a sequência não possuir o formato usado pelo número de versão do assembly ou (ii) se está no formato correto, mas contém wildcards.Esse aviso é inofensivo.

A versão informativa é representada usando o atributo personalizado System.Reflection.AssemblyInformationalVersionAttribute.Para obter mais informações sobre o atributo de versão informativo, consulte Configurando Atributos do Assembly.

Consulte também

Conceitos

Como o Runtime Localiza Assemblies

Definindo os Atributos de Assembly

Outros recursos

Configuration Files

Assemblies em Common Language Runtime