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