Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

This question already has an answer here:

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?

share|improve this question

marked as duplicate by gnat, GlenH7, Yusubov, Corbin March, MichaelT Sep 6 '13 at 12:54

This question was marked as an exact duplicate of an existing question.

NDepend (they aren't paying me to say that ;)) – AakashM Sep 6 '13 at 8:04
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 '13 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 '13 at 11:21
Is your application under one .NET solution ? – Yusubov Sep 6 '13 at 12:35

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.

share|improve this answer
Our system, our developers, out time and our business make this job not possible. I agree with you, but the scenario is pretty difficult – AngeloBad Sep 6 '13 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.

share|improve this answer

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