Conteúdo do Assembly

Em geral, um assembly estático pode consistir de quatro elementos:

  • O manifesto do assembly, que contém metadados do assembly.

  • Metadados de tipo.

  • Código Microsoft Intermediate Language (MSIL) que implementa os tipos.

  • Um conjunto de recursos.

Somente o manifesto do assembly é obrigatório, mas tipos e recursos são ambos necessários para fornecer ao assembly qualquer funcionalidade significativa.

Há várias maneiras de se agrupar esses elementos em um assembly.Você pode agrupar todos os elementos em um único arquivo físico, que é mostrado na ilustração a seguir.

Assembly de arquivo único

Como alternativa, os elementos de um assembly podem estar contidos em vários arquivos.Esses arquivos podem ser módulos de código compilado (.netmodule), recursos (sistema autônomo arquivos .bmp ou .jpg), ou outros arquivos necessários ao aplicativo.Crie um assembly de vários arquivos quando desejar combinar módulos escritos em diferentes linguagens e otimizar o download de um aplicativo colocando tipos raramente usados em um módulo que é baixado apenas quando necessário.

Na ilustração a seguir, o desenvolvedor de um aplicativo hipotético escolheu separar alguns códigos utilitários em um módulo diferente e manter um arquivo grande de recurso (neste caso uma imagem .bmp) em seu arquivo original.O .NET Framework baixa um arquivo somente quando ele é referenciado; manter códigos raramente referenciados em um arquivo separado do aplicativo otimiza o download de código.

Assembly de vários arquivos

Observação:

Os arquivos que compõem um vários arquivos assembly não são fisicamente vinculados pelo arquivo sistema.Em vez disso, eles são vinculados através do manifesto do assembly e o Common Language Runtime gerencia-os como uma unidade.

Nesta ilustração, todos sistema autônomo três arquivos pertencem a um assembly, conforme descrito no manifesto do assembly contido em MyAssembly.dll.Para o sistema de arquivos, eles são três arquivos separados.Observe que o arquivo Util.netmodule foi compilado sistema autônomo um módulo porque ele contém nenhuma informação de assembly.Quando o assembly foi criado, o manifesto do assembly foi adicionado ao MyAssembly.dll, indicando seu Relação com Util.netmodule e elemento gráfico.bmp.

Assim como você cria hoje seu código-fonte, você toma decisões sobre como particionar a funcionalidade do seu aplicativo em um ou mais arquivos.Ao criar código do .NET Framework, você tomará decisões semelhantes sobre como particionar a funcionalidade em um ou mais assemblies.

Consulte também

Conceitos

Manifesto do Assembly

Considerações Sobre Segurança do Assembly

Outros recursos

Assemblies em Common Language Runtime