Visão Geral Sobre Assemblies
Assemblies são uma parte fundamental da programação com o .NET Framework.Um assembly executa as seguintes funções:
Ele contém código que o Common Language Runtime executa.O código Microsoft Intermediate Language (MSIL), em um arquivo executável portável (PE), não será executado se ele não possuir um manifesto do assembly associado.Observe que cada assembly pode ter somente um ponto de entrada (isto é, DllMain, WinMain ou Main).
Ele forma um limite de segurança.Um assembly é a unidade em que permissões são solicitadas e concedidas.Para obter mais informações sobre limites de segurança e como eles se aplicam a assemblies, consulte Considerações Sobre Segurança do Assembly.
Ele forma um limite de tipo.A identidade de cada tipo inclui o nome do assembly no qual ele reside.Um tipo chamado MyType, carregado no escopo de um assembly, não é o mesmo que um tipo chamado MyType, carregado no escopo de outro assembly.
Ele forma um limite de referência de escopo.O manifesto do assembly contém metadados do assembly que são usados para resolver tipos e satisfazer solicitações de recursos.Ele especifica os tipos e recursos que são expostos fora do assembly.O manifesto também enumera outros assemblies do qual ele depende.
Ele forma um limite de versão.O assembly é a menor unidade com controle de versão no Common Language Runtime; todos os tipos e recursos no mesmo assembly estão versionados como uma unidade.O manifesto do assembly descreve as dependências de versão que você especifica para qualquer assembly dependente.Para obter mais informações sobre o controle de versão, consulte Controle de Versão do Assembly.
Ele forma uma unidade de implantação.Quando um aplicativo é iniciado, somente os módulos assembly que o aplicativo chama inicialmente devem estar presente.Outros assemblies, como recursos de localização ou assemblies contendo classes utilitárias, podem ser recuperados por demanda.Isso permite que aplicativos sejam mantidos simples e pequenos no primeiro download.Para obter mais informações sobre como implantar assemblies, consulte Implantação de Aplicativos.
Essa é a unidade na qual a execução lado a lado é suportada.Para obter mais informações sobre como executar várias versões de um assembly, consulte Assemblies e Execução Lado a Lado.
Assemblies podem ser estáticos ou dinâmicos.Assemblies estáticos podem incluir tipos .NET Framework (interfaces e classes), bem como recursos para o assembly (bitmaps, arquivos JPEG, arquivos de recursos, e assim por diante).Assemblies estáticos são armazenados em disco em arquivos PE.Você também pode usar o .NET Framework para criar assemblies dinâmicos, que são executados diretamente da memória e não são salvos em disco antes da execução.Você pode salvar assemblies dinâmicos no disco após sua execução.
Há várias maneiras de criar assemblies.Você pode usar ferramentas de desenvolvimento, como Visual Studio 2005, que você usou anteriormente para criar arquivos .dll ou .exe.Você pode usar ferramentas fornecidas pelo Windows Software Development Kit (SDK) para criar assemblies com módulos criados em outros ambientes de desenvolvimento.Você também pode usar APIs do Common Language Runtime, como Reflection.Emit, para criar assemblies dinâmicos.
Consulte também
Conceitos
Considerações Sobre Segurança do Assembly
Assemblies e execução lado a lado