[Mono-list] linking multiple .dll-s into a single file

Richard Matthias richard@exaflop.org
Sat, 31 Jul 2004 14:57:45 +0100


There's also a commercial tool - Salamander Linker by Remotesoft, but it
ain't cheap.

http://www.remotesoft.com/linker/


>-----Original Message-----
>From: mono-list-admin@lists.ximian.com 
>[mailto:mono-list-admin@lists.ximian.com] On Behalf Of infodate
>Sent: 31 July 2004 12:50
>To: mono-list@lists.ximian.com
>Subject: RE: [Mono-list] linking multiple .dll-s into a single file
>
>
> Hello!
>
>It is problem which was solved by creating a tool called lazy 
>linker ( or similar name ) described by Serge Lidin book on 
>ILAsm and available on GotDotNet for download. It handles some 
>of the issues when combining assemblies (removal of duplicate 
>assembly declarations etc etc) but is unable to handle all of 
>them and in particular any code using reflection to work with 
>assemblies.
>
>Why not give it a try?
>
>Cheers
>
>Jacek
>
>-----Original Message-----
>From: mono-list-admin@lists.ximian.com 
>[mailto:mono-list-admin@lists.ximian.com] On Behalf Of Jonathan Pryor
>Sent: Saturday, July 31, 2004 5:20 AM
>To: Mads Lindstrom
>Cc: mono-list@lists.ximian.com
>Subject: Re: [Mono-list] linking multiple .dll-s into a single file
>
>On Fri, 2004-07-16 at 16:43, Mads Lindstrom wrote:
>> Hawdee
>> 
>> I am currently making a C# program and I want to link all my .dll-s
>> and a .exe file into a single executable. How do I do this?
>> 
>> I have searched the net and looked at various documentation, 
>but found
>> nothing.
>
>The short answer is that you don't.  At least not easily, not 
>with the standard tools.
>
>If you *really* need to do this, you can always disassemble 
>all the assemblies, concatenate them into a single .il file, 
>and compile the single-file .il file into a .exe.
>
>This is a brute force approach, and will likely require some 
>modifications to the .il to allow it to compile, but it might work.
>
>Emphasis on *might*.  If any of the assemblies use Assembly.Load() or
>Assembly.LoadFrom() with any of the other assemblies, this 
>code will need to change (as the assembly that would be loaded 
>would now have a different name).
>
>Suffice it to say, this is a difficult problem, but can be 
>done if your code isn't too complicated.
>
> - Jon
>
>
>_______________________________________________
>Mono-list maillist  -  Mono-list@lists.ximian.com 
>http://lists.ximian.com/mailman/listinfo/mono-list
>
>_______________________________________________
>Mono-list maillist  -  Mono-list@lists.ximian.com 
>http://lists.ximian.com/mailman/listinfo/mono-list
>