How do I merge multiple .net assemblies into a single assembly?
ILMerge is the tool you're looking for:
ILMerge
The documentation for ILMerge can be found here:
http://research.microsoft.com/en-us/people/mbarnett/ILMerge.aspx
Try ILMerge.
NuGet package here
Using ILMerge is probably the simplest solution. However, ILMerge has the drawback that it changes the identity of referenced assemblies. As a consequence, you might run into issues with security or serialization.
An excellent blog post by Simone Busoli discusses the following options to merge assemblies into a single executable:
- ILMerge
- Embedding assemblies as a resource and subscribing to the AssemblyResolve event.
- Using Costura, an open source tool which takes care of embedding referenced assemblies as described in step 2.