Montagens multiarquivo
Nota
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 de vários arquivos destinados ao .NET Framework usando compiladores de linha de comando ou Visual Studio com 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 Main
ou WinMain
método.
Por exemplo, suponha que você tenha um aplicativo que contém dois módulos de código, Client.cs e Stringer.cs. Stringer.cs cria o myStringer
namespace que é referenciado pelo código no 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 .
Nota
Os assemblies multiarquivos podem ter apenas um ponto de entrada, mesmo que o assembly tenha vários módulos de código.
Há várias razões pelas quais você pode querer criar um assembly de vários arquivos:
Combinar módulos escritos em diferentes idiomas. Esta é a razão mais comum para criar um assembly multiarquivo.
Para otimizar o download de um aplicativo colocando tipos raramente usados em um módulo que é baixado apenas 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 alguns tipos a serem expostos publicamente que não são expostos se todos os módulos forem colocados em um assembly multiarquivo.
Depois de criar o assembly, você pode assinar o arquivo que contém o manifesto do assembly e, portanto, o assembly, ou você pode dar ao arquivo e ao assembly um nome forte e colocá-lo no cache global do assembly.