Javidan
Javidan

Reputation: 594

How to combine 2 or more c# assemblies into 1 library?

I have 4 dlls. But I want to have 1 single dll which will contain the code from all 4 of these dlls. I tried to add a project and copy paste all of my existing code into one project, but I couldn't.

Upvotes: 11

Views: 9782

Answers (3)

Default Writer
Default Writer

Reputation: 2566

You can use ILMerge utility

Or you can embed the dlls you want to merge as resources

Here the code sample:

AppDomain.CurrentDomain.AssemblyResolve += (sender, args) => {
   using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(resourceName))
   {
      Byte[] assemblyData = new Byte[stream.Length];
      stream.Read(assemblyData, 0, assemblyData.Length);
      return Assembly.Load(assemblyData);
   }
};

Upvotes: 8

Hubi
Hubi

Reputation: 1629

There is a tool from MS: ILMerge

Upvotes: 3

Luke Baulch
Luke Baulch

Reputation: 3656

Have a look into ILMerge

ILMerge is a utility for merging multiple .NET assemblies into a single .NET assembly.

Upvotes: 13

Related Questions