2010-08-25 167 views
8

我有一个相当复杂的应用程序,它已经被分成多个组件之间的依赖关系图。每个组件都有一个包含一堆项目的解决方案文件。所以我喜欢把它看作一个组件有多个项目/ dll的组件。还有一个“共同”组件。所有其他组件都依赖于“通用”。所以编译是这样的: "nant component1.compile"将编译“常用”,然后自COMPONENT1取决于“常用”编译COMPONENT1。随着时间的推移,“普通”变得相当大。我很确定它可以分成几个较小的组件。那么组件只需要依赖于这些较小的,分解的“普通”中的一些。这将有望减少不同组件的编译时间。如何让我的C#项目

所以问题: 我想要可视化应用程序中所有不同项目之间的依赖关系,同时也标记项目所属的组件。你会如何做到这一点?

回答

1

NDepend提出加上一个依赖矩阵的依赖图的工具。默认情况下,您将获得.NET程序集的依赖关系图,并且不仅限于只有一个VS解决方案的程序集。 NDepend的集成在VS 2017年,2015年,2013年,2012年,2010年和它可以显示任何类型的图形在您的代码包括:组件之间

  • 依赖
  • 方法调用图形,命名空间内的
  • 依赖一个VS项目,
  • 依赖关系的命名空间中的类型,
  • 类继承图,分量
  • 图表表示类耦合之间2 210

等等

这一切说明here

NDepend code graph dependency diagram

NDepend的也提出了dependency structure matrix (DSM)和方式query dependencies with C# LINQ queries

1

我会尝试将它导入到一个UML工具,它可以使模块间的依赖关系图我。

有市场,商业和开源的几个。获得为您提供预算最大能力的产品。

+0

您是否建议手动将依赖项输入到UML工具中?这是我宁愿不做的一些手工工作。 – Rohith 2010-08-25 12:33:52

+0

如果工具将在导入时为您生成依赖项,则不必生成依赖项。我无法说出每个工具的功能。 – duffymo 2010-08-25 13:06:06

0

今天上午理解有人建议我(:

http://www.scitools.com/

但老实说,我不能给出一个正确的报告就可以了,因为这是对我来说太贵了......

0

如果您对装配级别信息没有问题,那么您应该查看热门工具ReflectorGraph加载项。它提供了汇编&类级别依赖关系图。

0

看一看我的免费DSM插件.net反射下载从www.tom-carter.net

它可以让你的依赖两种不同的观点:一个部署模型找到组件和一个建筑模型之间的依赖关系,以显示类型之间的依赖关系。

如果没有视觉上提供您想要的信息,你可以保存模型XML和数据运行你自己的脚本。

相关性矩阵的优势在于,它更容易分析的依赖视觉上比箱和线路图

如果您需要更多的帮助,让我现在

[更新]这个插件是现在提供一个Visual Studio的形式附加在

2

如果你有机会到Visual Studio 2010 终极,您可以选择从Architecture菜单Generate Dependency Graph

上有MSDN穿行:How to: Generate Dependency Graphs for .NET Code

+0

看起来它在解决方案中执行依赖关系图。就我而言,每个组件都由一个解决方案来表示。我想得到一个图表,显示哪个组件取决于另一个组件的哪个部分。因此,它是解决方案之间的依赖关系,但是具有特定依赖属于哪个解决方案的标记。 – Rohith 2010-08-25 12:21:40

相关问题