We have a c# app that uses a number of libraries (that we wrote too). The app depends on the different libraries and some of the libraries depend on some of the other libraries.
Now when it comes to testing the app we also need to make sure that the libraries are all working correctly. The problem is that the app only uses a small amount of the functionality of these libs. I can use something like NCover to find which library classes are actually used but I would also love to know how these classes (across the app and different libs) are organised – their dependency structure.
So my question:
I want to be able to run my app and then get the list of classes used, organised by dependencies (ie what calls/uses what).
Does anyone know of any tool (free or not) that allow you to do that? The code is all in VS2008 organised with the different libs/app as projects.
I think you’ll want to look at:
Reflector
from Red Gate software. It’s free, and is probably the best and most well known disassembly/debugging tool for .NET.
It has a plug-in architecture, too, and there is a Codeplex page, .NET Reflector AddIns that contains a number of very useful add-ins for it.
For looking at dependencies, I think the Graph plug-in should give you want you’re after.
There is also a very similar (and also very good tool) on SourceForge called Refractor which will also show dependency graphs.