Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Cada assembly, estático ou dinâmico, contém uma coleção de dados que descreve como os elementos no assembly se relacionam entre si. O manifesto do assembly contém esses metadados do assembly. Um manifesto do assembly contém todos os metadados necessários para especificar os requisitos de versão e a 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 do assembly pode ser armazenado em um arquivo PE (um .exe ou .dll) com código CIL (linguagem intermediária comum) ou em um arquivo PE autônomo que contém apenas informações de manifesto do assembly.
A ilustração a seguir mostra as diferentes maneiras pelas quais o manifesto pode ser armazenado.
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 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:
Enumera os arquivos que compõem o assembly.
Determina como as referências a tipos e recursos do assembly são mapeadas para arquivos que contenham suas declarações e implementações.
Enumera outros assemblies dos quais o assembly depende.
Fornece um nível de indireção entre consumidores do assembly e detalhes da implementação do assembly.
Renderiza 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ção | Descrição |
|---|---|
| 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ário, além de um número de revisão e de 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 a linguagem compatível com o assembly. Essas informações só devem ser usadas 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 sobre nome forte | A chave pública do editor, caso tenha sido dado ao assembly um nome forte. |
| Lista de todos os arquivos no conjunto | Um hash de cada arquivo contido no conjunto 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 runtime para mapear uma referência de tipo para o arquivo que contém sua declaração e implementação. Usado em tipos que são exportados do assembly. |
| Informações sobre assemblies referenciados | 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 etc.) e chave pública, caso o assembly possua um nome forte. |
Você pode adicionar ou alterar algumas informações no manifesto do assembly usando atributos de assembly em seu código. Você pode alterar informações de versão e atributos informativos, incluindo Marca, Direitos Autorais, Produto, Empresa e Versão Informativa. Para obter uma lista completa de atributos de assembly, consulte Definir atributos de assembly.