如何获取依赖的递归列表

时间:2014-11-11 22:00:27

标签: .net visual-studio dependencies ndepend

从单个程序集开始,我希望得到一个所有程序集依赖项的递归列表。我希望依赖项由每个程序集的程序集清单确定。换句话说,我不想仅仅因为它“实际上没有被调用”或“没有实际使用”而从列表中省略了汇编依赖。

我尝试使用Visual Studio Ultimate 2012“架构 - >生成依赖关系图”。它呈现的图表不会递归显示外部依赖关系,因此它不符合我的需要。我刚刚开始了NDepend的14天试用。它也没有向我显示依赖关系的递归图。

如果每个递归程序集实际上都被代码引用,那么Visual Studio或NDepend 可能向我显示了递归依赖项。但同样,我不是在问是否存在将依赖关系链接在一起的执行路径,我只想知道每个程序集声明的清单是什么依赖关系。

我在Visual Studio或NDepend中都缺少一个选项吗?

过滤依赖项也很好,这样就可以从递归和列表中省略GAC程序集。

1 个答案:

答案 0 :(得分:0)

您可以获得这样的列表,首先右键单击程序集并询问我使用的程序集(直接或间接)。

NDepend Select assemblies used recursively

然后显示一个代码查询,列出使用(递归)使用深度的程序集。

NDepend list of assemblies used recursively

方便的是,您可以将这些程序集导出到依赖关系图,然后更好地理解代码结构:

NDepend assemblies dependencies graph

换句话说,我不希望从列表中省略汇编依赖,仅仅因为它是"实际上并没有调用"或"未实际使用。

据我所知,这一点并不令人满意。仅当A的类型使用B类型时(或反之亦然),NDepend才会考虑A和B之间的依赖关系。