Compartilhar via


Assemblies de vários arquivos

Observação

Este artigo é específico do .NET Framework. Ele não se aplica a implementações mais recentes do .NET, incluindo o .NET 6 e versões posteriores.

Você pode criar assemblies multifile direcionados ao .NET Framework usando compiladores de linha de comando ou o Visual Studio com o Visual C++. Um arquivo no assembly deve conter o manifesto do assembly. Um assembly que inicia um aplicativo também deve conter um ponto de entrada, como um método Main ou WinMain.

Por exemplo, suponha que você tenha um aplicativo que contenha dois módulos de código, Client.cs e Stringer.cs. Stringer.cs cria o myStringer namespace referenciado pelo código em Client.cs. Client.cs contém o Main método, que é o ponto de entrada do aplicativo. Neste exemplo, você compila os dois módulos de código e, em seguida, cria um terceiro arquivo que contém o manifesto do assembly, que inicia o aplicativo. O manifesto do assembly faz referência aos módulos Client e Stringer,

Observação

Assemblies multifile podem ter apenas um ponto de entrada, mesmo que o assembly tenha vários módulos de código.

Existem vários motivos que levam você a querer criar um assembly de vários arquivos:

  • Para combinar módulos escritos em idiomas diferentes. Essa é a razão mais comum para a criação de um assembly de vários arquivos.

  • Para otimizar o download de um aplicativo colocando tipos raramente usados em um módulo baixado somente quando necessário.

  • Para combinar módulos de código escritos por vários desenvolvedores. Embora cada desenvolvedor possa compilar cada módulo de código em um assembly, isso pode forçar a exposição pública de alguns tipos que não seriam expostos se todos os módulos fossem reunidos em um assembly de múltiplos arquivos.

Depois de criar o assembly, você pode assinar o arquivo que contém o manifesto do assembly e, portanto, o assembly, ou pode dar um nome forte ao arquivo e ao assembly e colocá-lo no cache de assembly global.

Consulte também