We have a big and complex application composed by at least 700 DLL. The number is growing month after month. The code is not well structured because every DLL is a stand alone solutions. As you can imagine, when have some problem when we have to test a new feature on a DLL because we do not know exactly where it is used.

I am thinking to write a program that scan the file system, open the solution XML file and create a graph that contain all the references.

Is it a good idea?
Do you have some other solutions?

  • 1
    NDepend (they aren't paying me to say that ;))
    – AakashM
    Sep 6, 2013 at 8:04
  • 1
    It's quite trivial to write such a tool (simply reading the solution files); I wrote something like this some years ago to track some circular dependencies in a messy and complex application.
    – sloth
    Sep 6, 2013 at 9:02
  • @gnat: can any of those dependency management systems create a dependency graph of an existing project? If not, then this is not a duplicate.
    – Doc Brown
    Sep 6, 2013 at 11:21
  • Is your application under one .NET solution ?
    – Yusubov
    Sep 6, 2013 at 12:35

2 Answers 2


I'd first try to consolidate those dlls. Do you have a class per dll or something?! Combine related functionality currently contained within lots of dlls into a single dll, then you can start to get a grasp on your dependency chain. 700 is just too many to manage well.

  • Our system, our developers, out time and our business make this job not possible. I agree with you, but the scenario is pretty difficult Sep 6, 2013 at 8:07

Do you have some other solutions?

In short: Combine your code under one solution and define project dependencies their.

Having so many dlls is troublesome for maintenance and further development. If you have the source code, I would suggest de-compile this dlls to their own small projects and combine them under one solution. It would be much clear and easier to manage dependencies from their on.

However, all that re-organizational work would cost you time of a developer who understands the system very well.

Not the answer you're looking for? Browse other questions tagged or ask your own question.