views:

2740

answers:

7

I'm currently migrating a big solution (~70 projects) from VS 2005 + .NET 2.0 to VS 2008 + .NET 3.5. Currently I have VS 2008 + .NET 2.0.

The problem is that I need to move projects one by one to new .NET framework ensuring that no .NET 2.0 project references .NET 3.5 project. Is there any tool that would give me a nice graph of project dependencies?

+9  A: 

Have you tried NDepend? It'll shows you the dependencies and you can also analyze the usability of your classes and methods.

Their website:

http://ndepend.com

eriawan
A: 

I think I'll stick to the Visual Studio build order list. I checked out NDepend, but it have so powerful functionality, that their refference graph is unreadable.

Migol
Don't be silly - it's not unreadable it's just complex. I don't understand it too well either, but I got a good grasp of it by reading the documentation. You just need to learn what it means, same as when you learned to read code.
Neil Barnwell
Uhm, no. If all the depencies are overleaping one on each other, then it is unreadable.
Migol
Indeed, Graph can be unreadable by nature when there begin to have more than 20 nodes. This is why I strongly prefer using the NDepend Dependency Matrix that scales much better browsing dependencies involving many nodes.
Patrick Smacchia - NDepend dev
A: 

If you simply want a dependency graph I've found this is one of the cleanest ways to get one:

Dependency Analyser

Kieran Benton
A: 

You can create a dependency graph of your projects in VS 2010 Ultimate. Architecture Explorer lets you 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

Esther Fan - MSFT
+1  A: 

You can create a nice graph of the references in your projects. I've described the way I did it on my blog http://www.mellekoning.nl/index.php/2010/03/11/project-references-in-ddd/

Hace
All you need to do is change the output to DGML for display inside VS: http://blogs.msdn.com/b/camerons/archive/2008/12/16/introduction-to-directed-graph-markup-language-dgml.aspx
Richard
+1  A: 

You can get a project dependency graph easily using Visual Studio 2010 Ultimate, scan to 5 minutes into this video to see how: http://www.lovettsoftware.com/blogengine.net/post/2010/05/27/Architecture-Explorer.aspx

In Visual Studio 2010 Ultimate: Architecture | Generate Dependency Graph | By Assembly.

Chris Lovett
A: 

To complete the eriawan answer on graphs generated by NDepend see screenshoots extracted from this blog post: Interactive Code Dependencies Graph Note also that you can try NDepend straight on your code thanks to a Free Trial Edition.

alt text

alt text

alt text

alt text

Patrick Smacchia - NDepend dev