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. O manifesto do assembly contém esses metadados do assembly. 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 um assembly de arquivo único e configuração de assembly de vários arquivos.

Para um assembly com um arquivo associado, o manifesto é incorporado ao arquivo PE para formar um assembly de arquivo único. Você pode criar um assembly multifile com um arquivo de manifesto autônomo ou com o manifesto incorporado em um dos arquivos PE no assembly.

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

  • Enumera os arquivos que compõem o assembly.

  • 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 assemblies dos quais o assembly depende.

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

  • Renderiza o assembly autodescrito.

Conteúdo do manifesto de montagem

A tabela a seguir mostra as informações contidas no manifesto do assembly. 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ções Description
Nome do assembly Uma cadeia de caracteres de texto especificando o nome do assembly.
Número de versão Um número de versão principal e secundária e um número de revisão e compilação. 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 do 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 do assembly.
Informações sobre montagens referenciadas Uma lista de outros assemblies que são referenciados estaticamente pelo assembly. Cada referência inclui o nome do assembly dependente, metadados do assembly (versão, cultura, sistema operacional e assim por diante) e chave pública, se o assembly tiver um nome forte.

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.

Consulte também