In the company where I use many DLL's and I have a lot of trouble debugging and understanding this ... In my projects (personal) I always put the classes straight in the same and I do not like them, I find it much easier so, which the advantage of using DLL? remembering that I program in ASP.NET C #.
EDIT: I have access to the source code of the DLL, however one of the problems is, the API key that I call is inside the DLL, in case that key expires I do not get a specific error, I can not debug the method that has inside the DLL because when I import the DLL I can only read the verb of the methods and the name of the attributes. I can only debug if I open the DLL project and run it in there.