
Recently I stumbled upon CodeProject on
an article by Mark Clifton on the search for dependencies between projects in a solution. Unfortunately, the graph itself did not generate the presented program, and therefore, being inspired
by Evgeny Kucheruk ’s
approach to visualizing the contents of the Windsor container, he quickly decided to implement the same functionality for dependencies between projects. Here, in fact, what happened.
First of all, an impressive example is needed, so I decided to show how the projects of different IoC frameworks look like (the pictures here and below are clickable):
Unity:
')
StructureMap:
NInject:
Autofac:
The graphs above are formed by analyzing project files and do not include “external” dependencies (dependencies are not solitary). They are formed by parsing .csproj files, i.e. project files. Further, when all the information is received in a separate
Dictionary
, it can be written in the .dot format, and rendered using
GraphViz .
The question is - why is this necessary? Just as an IoC container is useful to render in order to get a review of what is tied to, a regular solution would sometimes like to be analyzed on the topic of connectedness. As for example does the same
NDepend . Also, sometimes you just want to see the whole solution from a bird's eye view, and my tool will help to do just that.
Well, did not want to try? If so, download
GraphViz , and then the
source . I will not explain the interface, because there everything is clear - all the same, you (like me) will customize the program for your purposes, so I advise you to read the documentation for the dot format. Good luck!
PS: If you generate some very beautiful graph solyushna - please post below. Thank you in advance.