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