Manifesto do Assembly
Cada assembly, seja estático ou dinâmico, contém uma coleção de dados que descrevem como os elementos do assembly se relacionam entre si.O manifesto do assembly contém esses metadados do assembly.O manifesto de um assembly contém todos os metadados necessários para especificar os requisitos de versão e o identificador de segurança, assim como todos os metadados necessários para definir o escopo do assembly e analisar referências a recursos e classes.O manifesto do assembly pode ser armazenado em um arquivo PE (.exe ou .dll) com código da Microsoft Intermediate Language (MSIL) ou em um arquivo PE autônomo que contém somente informações do manifesto do assembly.
A ilustração a seguir mostra as diferentes maneiras nas quais o manifesto pode se armazenado.
Tipos de assemblys
Para um assembly com um arquivo associado, o manifesto é incorporado no arquivo PE para formar um assembly de arquivo único.Você pode criar um assembly de vários arquivos com um arquivo de manifesto autônomo ou com o manifesto incorporado a um dos arquivos PE do assembly.
Cada manifesto de um assembly executa as seguintes funções:
Enumerar os arquivos que compõem o assembly.
Orientar como as referências a tipos e recursos do assembly são mapeadas em arquivos que contêm suas declarações e implementações.
Enumerar outros assemblys dos quais depende o assembly.
Fornecer um nível de indireção entre os consumidores do assembly e detalhes da implementação do assembly.
Processar o assembly autodescritivo.
Conteúdo do Manifesto do Assembly
A tabela a seguir mostra as informações contidas no manifesto do assembly.Os primeiros quatro itens — informações sobre o nome, o número de versão, a cultura e o nome forte do assembly — compõem a identidade do assembly.
Informações |
Descrição |
---|---|
Nome do assembly |
Uma sequência de texto especificando o nome do assembly. |
Número de versão |
Um número de versão principal e secundário e um número de revisão e de compilação.O Common Language Runtime usa esses números para impor uma política de versões. |
Cultura |
Informações sobre a cultura ou a linguagem suportada pelo assembly.Essas informações devem ser usadas somente para designar um assembly como um assembly satélite contendo informações específicas de cultura ou de linguagem.(Um assembly com informações de cultura é automaticamente considerado um assembly satélite.) |
Informações de nomes fortes |
A chave pública do publisher, caso tenha sido dado ao assembly 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 ambiente de execução para mapear a referência de um tipo ao arquivo que contém sua declaração e implementação.Usado para tipos que são exportados do assembly. |
Informações sobre assemblys referenciados |
Uma lista de outros assemblys 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, caso o assembly possua um nome forte. |
Você pode adicionar ou alterar informações do manifesto do assembly usando os atributos do assembly em seu código.Você pode alterar informações sobre versão e atributos informativos, incluindo Trademark (marca comercial), Copyright (direitos autorais), Product (produto), Company (empresa) e Informational Version (versão informativa).Para obter uma lista completa dos atributos de um assembly, consulte Definindo os Atributos de um Assembly.