通过NDepend API以编程方式获取程序集之间的依赖关系

时间:2012-11-10 20:29:14

标签: c# .net ndepend

我想创建一个分析器工具,用于提取依赖矩阵,如Visual NDepend中的矩阵。

如何列出解决方案中两个程序集之间存在的依赖关系?

1 个答案:

答案 0 :(得分:3)

首先阅读NDepend.API Getting Started page。然后,您可以通过查看通过右键单击非空依赖关系矩阵单元>生成的CQLinq查询来进行练习。生成与这些X代码元素匹配的查询 ...例如,如果矩阵选项单元格上的权重设置为 Direct:#methods ,则会得到:

NDepend Dependency Matrixk

...这会生成以下CQLinq查询。然后,您可以在使用 NDepend.API 的程序中将此查询重用为经典LINQ查询。这些生成的查询应该是开发更复杂的依赖查询和程序的良好起点。

from m in Assemblies.WithNameIn( "mscorlib").ChildMethods()
where m.IsUsedBy ("pnunit-launcher")
select new { m, m.NbLinesOfCode }
//--------------------------------------------------------------------
// 52 methods of the assembly
// mscorlib
// v4.0.0.0
// 
// are used by
// 24 methods of the assembly
// pnunit-launcher
// v1.0.4661.29691
// 

顺便说一句,这是查询编辑的视图:

enter image description here