10

Visual Studio Ultimate contains a way to visualize project dependencies for a solution. I do not have access to that edition (I have Pro, but am looking for a solution that will also work when using Express editions).

So, what would you recommend for visualizing project dependencies for a VS2013 solution?

Must Haves:

  • Free of charge / Gratis. (Free trial doesn't cut it.)
  • Runs on Windows 8 and 8.1.
  • Able to handle VS2013 solutions and above;
  • Able to handle a mix of VB and C# projects;
  • Able to handle circular dependencies (I know, I know. Legacy, okay!? :D);
  • Can deal with smurf naming. (Legacy modules have rather long names at times, starting with the same 20ish characters. I don't mind seeing the full names, but if project names are truncated with ellipsis after 30 characters, or if boxes become unwieldingly wide, this would be a problem.)
  • Able to handle 100+ projects in one solution.
  • Must be useful. (Okay, I could use some help rewording this requirement to a less subjective summary, but here I mean to convey the fact that the visualization will be used for analyzing a decently sized codebase and creating greater understanding, as oppossed to e.g. a visualization that's purely for showing off / creating a poster for your office wall...)

Nice to haves:

  • Runs on Windows 7.
  • Also works in Visual Studio 2012.
  • Pretty diagrams.
  • Low learning curve, e.g. easy to get started.
  • Ability to rearrange the various projects in the graph.
  • Ability to group various projects.
  • Ability to save the result in some format (that allows further edits/updates after reopening). (Exporting to PNG/PDF/SVG less important)

What have I tried: / considered

Well, what I've tried? To be honest: nothing yet. A search or two gives me some options:

  • Visual Studio Ultimate, which I don't have.
  • Dependency Visualizer, which dates from 2008, and does not seem to run in my scenario. The context menu is missing, and calling it from the console says the solution isn't a VS 2005 or 2008 solution (which is correct in fact, I have a 2012 sln).
  • Resharper 8's "Project Dependency Graph", which is not gratis. (To be honest, I have version 7, and was considering an upgrade anyway. But that's besides this softwarerecs question for me.)
  • NDepend, which is not gratis.
  • VSGraph, which may fit the bill, but the GraphViz dependency scares me (it's a great tool, but I fear a lot of manual labor here; that fear may well be irrational though).

In short, I haven't tried much yet. Instead I used my first bit of time to write the above question and ask the experts: what would you recommend?

3

Solution Dependency Viewer by Microsoft for Visual Studio 2013.

Solution Dependency Viewer provides a graph layer to the solution with projects represented as nodes and project references represented as links between nodes.

It seems to fill at least half of your requirements:

  • Free (gratis)
  • It runs on at least Windows 7 - 10 (as does Visual Studio 2013)
  • It handles Visual Studio 2013 solutions (maybe more because it uses the IDE and MSBuild)
  • It parses all C++, C#, and VB projects in the solution

Here is a sample with a small solution:

Solution Dependency Viewer basic sample

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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