[Mono-list] Single file assemblies

Ian MacLean ianm@ActiveState.com
Mon, 13 Sep 2004 17:11:56 +0900

> hello all.
> well, when i first started to use Mono, i liked the idea of embedding 
> the runtime into my application. however, i believe that i made a 
> mistake in interpreting this. one still has to have Mono installed on 
> the target machine. (i tested this on two different Linux boxes.) 
> however at this link: 
> http://blogs.msdn.com/grantri/archive/2004/06/01/145724.aspx there is 
> some talk about single file assemblies in the near future. will Mono 
> support this as well? the reason that i have not switched to Mono 
> entirely is because of the extra runtimes required. for broadband 
> users, it is no problem. but for dial up people as mentioned in that 
> post, Mono and/or .NET runtime weighs in very heavily. there are 
> programs that merge all the code required into one file, but i do not 
> want to pay for extra licenses of software i may or may not use. there 
> is already software to merge multiple .NET assemblies into one, but 
> not also statically link it with the runtimes (or unmanaged code for 
> that matter).

The blog post you reference is talking about mixed language assemblies. 
Previously if you had one class in VB and another in c# you couldn't 
compile them into a single assembly. It has nothing to do with embedding 
runtime components to create standalone binaries.
He's not actually talking about statically linking runtime components 
although that is discussed in the comments.

The blog author says this further down in the comments :

> I'm personally torn on the notion of statically linking in the 
> runtime.  Specifically if such a linker existed, the runtime would see 
> each definition of System.Windows.Forms.Form that was statically 
> linked into different applications as totally different types.

ie such a linker does *not* exist at present.


> this is a quote from Grant on that link above: "You can now have a 
> single file assembly witc, VB, C#, C++, and even native code all in 
> one file!  Theoretically you can even link classic static .LIBs into 
> your brand new C# assembly (although I've never tried that 
> specifically)."
> that would be the best thing next to Mono and Windows.Forms itself.
> best regards,
> joe
>Outgoing mail is certified Virus Free.
>Checked by AVG anti-virus system (http://www.grisoft.com).
>Version: 6.0.760 / Virus Database: 509 - Release Date: 9/10/2004

Ian MacLean, Developer, 
ActiveState, a division of Sophos