Question: I have a requirement to document the assembly dependencies in a vb6/dotnet application.

What techniques / tools are good for performing this sort of document.

I was planning on using Visio for drawing.

Answer: 
As a start, try [Dependency Visualizer](http://www.codeplex.com/dependencyvisualizer). I've also used [GraphViz's Dot](http://www.graphviz.org) and some custom code for simple dependency generation. The custom code invoked SysInternal's depends.exe recursively and parsed the output. [.NET Reflector](http://www.red-gate.com/products/reflector/index.htm) with the [Graph](http://reflectoraddins.codeplex.com/Wiki/View.aspx?title=Graph) plugin looks pretty promising, too, though I haven't tried that (yet).

What I've always run into was the fact that my graph, unless generated automatically, has to be recreated every time I add to the project and sometimes when I simply change something. So, for me, a manual solution that I became married to for the updates was no solution at all.

I just found the [Dependency Structure Matrix Plug-in](http://tcdev.free.fr/) for .NET Reflector.
You can create dependency graphs of .NET assemblies and application projects in VS 2010 Ultimate. You can generate assembly dependency graphs as one of the standard graphs, or you can use Architecture Explorer to browse your solution, select projects and the relationships that you want to visualize, and then create a dependency graph from your selection.

For more info, see the following topics:

**How to: Generate Graph Documents from Code**: <http://msdn.microsoft.com/en-us/library/dd409453%28VS.100%29.aspx#SeeSpecificSource>

**How to: Find Code Using Architecture Explorer**: <http://msdn.microsoft.com/en-us/library/dd409431%28VS.100%29.aspx>

**RC download**: <http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=457bab91-5eb2-4b36-b0f4-d6f34683c62a>.

**Visual Studio 2010 Architectural Discovery & Modeling Tools** forum: <http://social.msdn.microsoft.com/Forums/en-US/vsarch/threads>