2009-06-17 110 views
3

我有一个要求在vb6/dotnet应用程序中记录程序集依赖关系。记录一个依赖关系树

什么技术/工具对于执行这类文档是有好处的。

我打算使用Visio进行绘图。

回答

5

作为开始,请尝试Dependency Visualizer。我还使用GraphViz's Dot和一些自定义代码来生成简单的依赖关系。自定义代码递归地调用SysInternal的depend.exe并解析输出。 .NET ReflectorGraph插件看起来很有希望,虽然我还没有尝试过(还)。

我一直运行到的事实是,我的图表,除非自动生成的,有我每次添加到项目中,有时当我只是改变一些东西的时间来重新创建。所以,对我而言,我结婚的手动解决方案根本无法解决。

我刚刚发现了Dependency Structure Matrix Plug-in的.net反射。

+0

是的Depends.exe从dependencywalker.com不Sysinternals的... – 2009-06-17 02:30:59

+0

+1的一个很好的答案,但。我希望人们能够解释那些并不明显不好的答案。 – 2009-06-17 02:31:44

0

依赖项可视化器对于小型项目很有用。对于具有许多相互依赖关系的项目或解决方案,甚至无法追踪依赖关系图也变得过于笨拙。

1

你可以在VS 2010终极创造的.NET程序集和应用项目的依赖关系图。您可以生成程序集依赖关系图作为标准图之一,也可以使用体系结构浏览器浏览解决方案,选择要显示的项目和关系,然后根据您的选择创建依赖关系图。

欲了解更多信息,请参阅以下主题:

如何从代码生成图表文件:http://msdn.microsoft.com/en-us/library/dd409453%28VS.100%29.aspx#SeeSpecificSource

如何:查找代码使用架构浏览http://msdn.microsoft.com/en-us/library/dd409431%28VS.100%29.aspx

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

Visual Studio 2010的体系结构发现&建模工具论坛:http://social.msdn.microsoft.com/Forums/en-US/vsarch/threads

1

要完成的埃里克答案,NDepend的自带的确配上一个dependency matrix一个dependency graph

NDepend Dependency Graph

NDepend Dependency Matrix

依赖图更容易理解,但是,当节点的数目增长(> 40)往往依赖矩阵将提供的情况更清楚的视图。例如,矩阵下面表示与图相同的依赖关系数据,但它显然更清楚。

Dependency Matrix vs. Dependency Graph