01.Blogs :
AFurtado  
Engenharia de software, tendências, entrevistas e competições no mundo de TI.

Assemblies .NET compostos por mais de um arquivo

Vamos exemplificar como um assembly pode ser composto por mais de um arquivo. Suponha que o arquivo Class1.cs contenha a definição da classe Class1, que implementa um método estático M qualquer. Você pode compilar Class1.cs passando a opção /target:module para o compilador, de modo a gerar um módulo .NET, isto é, uma unidade de código que foi compilada mas não é exatamente um assembly. O comando completo seria:

csc /target:module Class1.cs

Isso vai gerar o arquivo Class1.netmodule.

Suponha agora que o arquivo Class2.cs contém a definição da classe Class2, que implementa um método Main que faz chamadas ao método M de Class1. Você pode compilar Class2.cs passando a opção /addModule:Class1.netmodule, como mostra o comando completo abaixo:

csc /target:exe /addModule:Class1.netmodule Class2.cs

Isso irá gerar o assembly Class2.exe, que você já pode executar. Tente, agora, renomear o arquivo Class1.netmodule e depois executar novamente Class2.exe. A execução do assembly irá resultar no seguinte erro:

Exceção Não Tratada: System.IO.FileNotFoundException: Não foi encontrado nenhum nome de arquivo ou de conjunto de módulos (assembly) Class1.netmodule, nem nenhuma de suas dependências.
Nome do arquivo: "Class1.netmodule"
   at ConsoleApplication1.Class2.Main(String[] a)

O assembly Class2.exe, portanto, não é totalmente autocontido, dependendo do módulo Class1.netmodule.

[]s
-- AFurtado

posted on Tuesday, August 31, 2004 11:43 PM by AFurtado


 
03.UPDATE CALENDAR :
<August 2004>
SunMonTueWedThuFriSat
25262728293031
1234567
891011121314
15161718192021
22232425262728
2930311234

05.MY LINKS :

07.Subscriptions :

Subscriptions


© Copyright 2005 Microsoft Corporation. All Rights Reserved.
Terms of Use | Privacy Statement | Code of Conduct | Hosted by MaximumASP for Microsoft
WHO-BAR