Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How/where do I ship third-party libraries with a .NET DLL?

I'm building a .NET DLL Class Library which depends on other libraries such as log4net.dll - where should I put these DLLs when packaging up my DLL? Is there a way to automatically include them inside one super-DLL? Should I just ship all the DLLs in a single bin folder?

like image 252
Nosrama Avatar asked Aug 12 '09 17:08

Nosrama


2 Answers

Just ship them all in a directory with your dll (assuming you're talking about a binary distribution - in a source distribution I'd have a "lib" directory containing your dependencies).

Don't forget to check whether or not you need to also supply licences, directions to get the source etc.

I wouldn't be tempted to try to merge your class library with the dependencies, personally.

like image 153
Jon Skeet Avatar answered Nov 10 '22 22:11

Jon Skeet


You need to check the EULA and other licenses attached to those other DLL's first. Some may restrict how their DLL libraries are redestributed. Assuming no issues with that, you can either compile them all together as one big DLL, or create an installer (or a simple zip file) that will install all the associated DLL's in their intended destination.

like image 5
BBlake Avatar answered Nov 10 '22 21:11

BBlake