ILMerge - merge assemblies into one (one to rule them all?)
Michael Barnett from Microsoft Research created a tool that can be used to merge assemblies.
You know, you have all those files composing your application (.exe and .dll) and you wish you could have only one... For example, you could package your own framework (Madgeek.Collections.dll + Madgeek.Data.dll + Madgeek.Web.dll + Madgeek.Xml.dll + ...) into only one assembly (Madgeek.dll), which makes it easier to distribute.
ILMerge is a utility for merging multiple .NET assemblies into a single .NET assembly. It works on executables and DLLs alike. It comes with several options for controlling the processing and format of the output, see the accompanying documentation for details.
This tool is delivered as a command-line app, but there is also a documented object model you can use to automate the operations.
ILMerge is freely available from the MSR Downloads page.
Oh, by the way, Bonne Année !
Update: forgot to say that you should review the other downloads at the MSR Downloads page. There are a lot of interesting things there...