Assemblies e o cache de assemblies global (C# e Visual Basic)

Assemblies formam a unidade fundamental de implantação, controle de versão, reutilização, ativação de escopo e permissões de segurança para um aplicativo de base .NET. Assemblies tomam a forma de um arquivo executável (.exe) ou arquivo de biblioteca de links dinâmicos (.dll) e são os blocos de construção do .NET Framework. Eles fornecem o Common Language Runtime com as informações de que precisam para estarem cientes das implementações de tipo. Você pode considerar um assembly como uma cloeção de tipos e recursos que formam uma unidade lógica de funcionalidade e são construídos para trabalharem em conjunto.

Módulos (assemblies) pode conter um ou mais módulos. Por exemplo, projetos maiores podem ser planejados de forma que vários desenvolvedores individuais trabalham em módulos separados, todos os próximos juntos para criar um único assembly. Para obter mais informações sobre módulos, consulte o tópico Como compilar um assembly de vários arquivos.

Os assemblies têm as seguintes propriedades:

  • Assemblies são implementados como arquivos. exe ou. dll.

  • Você pode compartilhar um assembly entre aplicativos, colocando-os no cache global de assemblies. Assemblies devem ser fortes antes que eles podem ser incluídos no cache global de assemblies. Para obter mais informações, consulte Assemblies de nomes fortes.

  • Assemblies são carregados na memória somente se forem necessários. Se não forem usadas, elas não são carregadas. Isso significa que os assemblies podem ser uma maneira eficiente para gerenciar recursos em projetos grandes.

  • Programaticamente, você pode obter informações sobre um assembly usando reflexão. Para obter mais informações, consulte reflexão.

  • Se você quiser carregar um assembly somente para inspecioná-la, use um método como ReflectionOnlyLoadFrom.

Manifesto do Assembly

Dentro de todo assembly está um manifesto assembly. Igual a uma tabela de conteúdo, o manifesto assembly contém o seguinte:

  • A identidade do assembly (seu nome e versão).

  • Um arquivo descrevendo todos os outros arquivos que constituem o assembly, como por exemplo, quaisquer outros assemblies que você criou com que seus arquivos .exe ou .dll contam, ou até mesmo arquivos bitmap ou Leia-me.

  • Uma lista de referência de assemblies, que é uma lista de todas as dependências externas, dlls ou outros arquivos de que seu aplicativo necessita podem ter sido criados por outra pessoa. Referências de assembly contêm referências para tanto objetos globais quanto privados. Objetos globais residem no cache global de assembly, uma área disponível para outros aplicativos, um tanto semelhante ao diretório System32. O namespace Microsoft.VisualBasic é um exemplo de um assembly no cache global de assembly. Objetos privados devem estar num diretório num nível igual ou abaixo do diretório no qual seu aplicativo está instalado.

Porque módulos (assemblies) contêm informações sobre o conteúdo, controle de versões e dependências, dos aplicativos criados com Visual Basic e C# não confiam nos valores do registro para funcionar corretamente. Reduzem os conflitos de dll e tornam seus aplicativos mais confiáveis e mais fácil de implantar assemblies. Em muitos casos, você pode instalar um aplicativo com base .NET simplesmente copiando seus arquivos para o computador de destino.

Para obter mais informações, consulte: Manifesto de um assembly.

Adicionando uma referência a um Assembly

Para usar um assembly, você precisa adicionar-lhe uma referência, como descrito em Como adicionar ou remover referências usando a caixa de diálogo Adicionar Referência. Em seguida, use o declaração Imports em Visual Basic ou usando a diretiva em C# para escolher o espaço para nome dos itens que deseja usar. Uma vez que o assembly é referenciado e importado, todas as classes, propriedades, métodos e outros membros possíveis de seus namespaces estão disponíveis para o seu aplicativo como se seus códigos fossem parte de arquivo-fonte.

No C#, você também pode usar duas versões do mesmo assembly em um único aplicativo. Para obter mais informações, consulte alias externo.

Criando um Assembly

Compilar seu aplicativo, clicando em Build na Build menu ou criá-lo a partir da linha de comando usando o compilador de linha de comando. Para obter detalhes sobre a criação de módulos (assemblies) na linha de comando, consulte Compilando a partir da linha de comando (Visual Basic) para Visual Basic e Compilação pela linha de comando com csc.exe para C#.

Consulte também

Tarefas

Como compartilhar um assembly com outros aplicativos (C# e Visual Basic)

Como carregar e descarregar assemblies (C# e Visual Basic)

Como determinar se um arquivo é um assembly (C# e Visual Basic)

Como criar e usar assemblies usando a linha de comando (C# e Visual Basic)

Instruções passo a passo: inserindo tipos de assemblies gerenciados (C# e Visual Basic)

Instruções passo a passo: inserindo informações de tipo dos Microsoft Office Assemblies (C# e Visual Basic)

Conceitos

Guia de Programação em C#

Assemblies amigáveis (C# e Visual Basic)

Outros recursos

Guia de programação do Visual Basic

Assemblies no Common Language Runtime