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

我想创建一个分析器工具来提取Visual NDepend中的矩阵之类的依赖矩阵。

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


首先阅读NDepend.API入门页面。 然后,您可以通过查看通过右键单击非空依赖关系矩阵单元格生成的CQLinq查询来运动>生成与这些X代码元素相匹配的查询...例如,如果将单元格上的Weight选项设置为Direct: #方法,你会得到:

N依赖依赖矩阵

...这会生成以下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
// 

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

在这里输入图像描述

链接地址: http://www.djcxy.com/p/6433.html

上一篇: Getting dependencies between assemblies programatically by NDepend APIs

下一篇: Editable assembly dependency graph generation