Partilhar via


Manifesto da assembleia

Cada montagem, seja estática ou dinâmica, contém uma coleção de dados que descreve como os elementos na montagem se relacionam entre si. A manifestação da assemblagem contém esses metadados da assemblagem. Um manifesto de assembly contém todos os metadados necessários para especificar os requisitos de versão e identidade de segurança do assembly, e todos os metadados necessários para definir o escopo do assembly e resolver referências a recursos e classes. O manifesto de assembly pode ser armazenado em um arquivo PE (um .exe ou .dll) com código de linguagem intermediária comum (CIL) ou em um arquivo PE autônomo que contém apenas informações de manifesto de assembly.

A ilustração a seguir mostra as diferentes maneiras como o manifesto pode ser armazenado.

Diagrama que mostra o manifesto em uma assemblagem de arquivo único e uma configuração de assemblagem multificheiro.

Para um assembly com um arquivo associado, o manifesto é incorporado ao arquivo PE para formar um assembly de arquivo único. Você pode criar uma assemblagem multificheiro com um ficheiro de manifesto independente ou com o manifesto incorporado em um dos ficheiros PE na assemblagem.

O manifesto de cada assembleia desempenha as seguintes funções:

  • Enumera os ficheiros que compõem o conjunto.

  • Governa como as referências aos tipos e recursos do assembly são mapeadas para os arquivos que contêm suas declarações e implementações.

  • Enumera outros conjuntos dos quais o conjunto depende.

  • Fornece um nível de indireção entre os consumidores da montagem e os detalhes de implementação da montagem.

  • Renderiza a assemblagem autodescritiva.

Conteúdos do manifesto de montagem

A tabela a seguir mostra as informações contidas no manifesto de ensamblagem. Os quatro primeiros itens: nome do assembly, número da versão, cultura e informações de nome forte compõem a identidade do assembly.

Informação Descrição
Nome do assembly Uma cadeia de texto especificando o nome do assembly.
Número da versão Um número de versão principal e menor, e um número de revisão e de build. O Common Language Runtime usa esses números para impor a política de versão.
Cultura Informações sobre a cultura ou idioma suportado pela assembleia. Estas informações devem ser utilizadas apenas para designar uma assembleia como uma assembleia satélite que contenha informações específicas da cultura ou da língua. (Uma montagem com informações de cultura é automaticamente assumida como uma montagem satélite.)
Informações de nome fortes A chave pública do editor, se a montagem recebeu um nome forte.
Lista de todos os arquivos no assembly Um hash de cada arquivo contido no assembly e um nome de arquivo. Observe que todos os arquivos que compõem o assembly devem estar no mesmo diretório que o arquivo que contém o manifesto do assembly.
Informações de referência de tipo Informações usadas pelo tempo de execução para mapear uma referência de tipo para o arquivo que contém sua declaração e implementação. Isso é usado para tipos que são exportados da montagem.
Informações sobre montagens referenciadas Uma lista de outras assemblies que são referenciadas de forma estática por esta assembly. Cada referência inclui o nome do conjunto dependente, metadados do conjunto (versão, cultura, sistema operacional, entre outros) e a chave pública, se o conjunto estiver fortemente nomeado.

Você pode adicionar ou alterar algumas informações no manifesto do assembly usando atributos assembly em seu código. Você pode alterar informações de versão e atributos informativos, incluindo marca registrada, direitos autorais, produto, empresa e versão informativa. Para obter uma lista completa de atributos de assembly, consulte set assembly attributes.

Ver também