is a utility that can be used to
merge multiple .NET assemblies into a single
assembly. It is freely available for use from
Tools & Utilities page at the
Microsoft .NET Framework Developer Center.
Its license does allow commercial usage! If you have any problems
using it, please get in touch. (mbarnett _at_ microsoft _dot_ com)
ILMerge takes a set of input assemblies
and merges them into one target assembly.
The first assembly in the list of input
assemblies is the primary assembly. When
the primary assembly is an executable, then the
target assembly is created as an executable with
the same entry point as the primary assembly.
Also, if the primary assembly has a strong name,
and a .snk file is provided, then the target
assembly is re-signed with the specified key so
that it also has a strong name.