我有一个相当复杂的应用程序,它已被分解为多个组件。每个组件都有一个包含大量项目的解决方案文件。所以我喜欢把它想象成一个组件中有多个项目/ dll。还有一个“共同”组件。所有其他组件都依赖于“共同”。所以编译是这样的:
"nant component1.compile"
将编译“common”然后编译component1,因为component1依赖于“common”。
随着时间的推移,“共同”变得相当大。我很确定它可以分成几个较小的组件。然后组件需要仅依赖于这些较小的,破碎的“共同”中的一些。这有望减少不同组件的编译时间。
所以问题: 我想要可视化应用程序中所有不同项目之间的依赖关系,同时标记项目所属的组件。你会怎么做?
答案 0 :(得分:3)
您可以查看NDepend:http://www.ndepend.com/
编辑添加:
Patrick Smacchia,NDepend的首席开发人员,博客:http://codebetter.com/blogs/patricksmacchia/default.aspx,并撰写了大量关于组件化的内容,您可能会发现它很有用。
答案 1 :(得分:2)
如果您可以访问Visual Studio 2010 Ultimate ,则可以从Generate Dependency Graph
菜单中选择Architecture
。
答案 2 :(得分:1)
我尝试将其导入到UML工具中,该工具可以为我呈现模块之间的依赖关系图。
市场上有几种商业和开源。获得能够为您的预算提供最大功能的那个。
答案 3 :(得分:1)
答案 4 :(得分:1)
工具NDepend提出了一个与依赖矩阵相结合的依赖图。默认情况下,您将获得.NET程序集的依赖关系图,它不仅限于一个VS解决方案的程序集。 NDepend已整合到VS 2017,2015,2013,2012,2010中,它可以在您的代码上显示任何类型的图表,包括:
等...
这一切都解释为here。
NDepend还提出了dependency structure matrix (DSM)和query dependencies with C# LINQ queries的方法。
答案 5 :(得分:0)
答案 6 :(得分:0)
查看我可以从www.tom-carter.net
下载的.NET Reflector免费DSM插件它允许对依赖关系提供两种不同的视图:用于查找程序集之间的依赖关系的部署模型和用于显示类型之间依赖关系的体系结构模型。
如果它没有直观地提供您要查找的信息,您可以将模型保存到xml并在数据上运行您自己的脚本。
依赖矩阵的优点是,它比框图和折线图更容易直观地分析依赖关系
如果您现在需要更多帮助,请立即
[更新] 此插件现在以Visual Studio加载项的形式提供
答案 7 :(得分:0)
最新的Resharper版本也可以创建参考图表。
https://www.jetbrains.com/help/resharper/Architecture__Project_Dependencies_Exploration.html#