我想创建一个分析器工具,用于提取依赖矩阵,如Visual NDepend中的矩阵。
如何列出解决方案中两个程序集之间存在的依赖关系?
答案 0 :(得分:3)
首先阅读NDepend.API Getting Started page。然后,您可以通过查看通过右键单击非空依赖关系矩阵单元>生成的CQLinq查询来进行练习。生成与这些X代码元素匹配的查询 ...例如,如果矩阵选项单元格上的权重设置为 Direct:#methods ,则会得到:
...这会生成以下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
//
顺便说一句,这是查询编辑的视图: