ILMerge utility can be used to merge multiple .NET assemblies into a single assembly. "ILMerge takes a set of input assemblies and merges them into one target assembly. The first assembly in the list of input assemblies is primary assembly. When primary assembly is an executable, then target assembly is created as an executable with same entry point as primary assembly. Also, if primary assembly has a strong name, and a .snk file is provided, then target assembly is re-signed with specified key so that it also has a strong name. ILMerge is packaged as a console app. But all of its functionality is also available programmatically. There're several options that control behavior of ILMerge. ILMerge runs in v2.0 .NET Runtime, but it's also able to merge v1 or v1.1 assemblies. However it can merge PDB files only for v2 assemblies. Currently, ILMerge works only on Windows-based platforms. It doesn't yet support Rotor or Mono," noted Microsoft.
More Info: Download