在 类 之间为 .net Project/Solution 创建依赖关系图
Create dependency graph between classes for .net Project/Solution
是否有编程方式或工具允许遍历 project/assembly 中的所有 classes 并找出其他相关的 classes?
Resharper 具有类似的功能,但我无法找到以某种易于分析的格式导出结果的方法。
我的最终目标是在 class 之间创建依赖关系图(每个 class),而不是由 project/namespace/etc
聚合
我的最终目标是获得这样的列表<Class Name>: <Dependency1>, <Dependency N>
- Class1: Class2, Class6, Class9
- Class2: Class1, Class4
- Class3:
- Class4: Class2, Class5
等等
更新:
我正在使用 Visual Studio 2015 高级版。
您正在查找的功能是代码映射。我不确定它们现在是否在 VS 2015 Premium 中可用,但它们在最初发布时没有。这篇文章的评论可能会对您有所帮助:New ways to quickly create a Code Map.
您还可以尝试与 VS2015(所有 SKU,包括 Premium)以及 VS 2019、2017、2013、2012、2010 所有 SKU 集成的工具 NDepend,旧版 Express SKU.
使用 NDepend,您可以在 Visual Studio C# linq queries that are compiled/executed live 中进行编辑。例如,下面的代码查询显示了所有 classes 依赖项:
from t in Application.Types
select new { t, t.TypesUsed, t.TypesUsingMe }
代码查询结果可以导出到图,这样可以生成多种依赖图:Call Graph, Class Inheritance Graph, Coupling Graph...
I wasn't able to find the way to export the results in some
easy-to-analyze format.
除了 Visual Studio 中的实时代码查询外,还可以通过 API 使用 NDepend 代码查询,您可以利用它来创建 C# 程序并以任何格式导出任何数据。
新的 NDepend 版本 2020.1 现在让您可以为 class 或单击中的方法生成调用图:
免责声明:我为 NDepend
工作
是否有编程方式或工具允许遍历 project/assembly 中的所有 classes 并找出其他相关的 classes? Resharper 具有类似的功能,但我无法找到以某种易于分析的格式导出结果的方法。
我的最终目标是在 class 之间创建依赖关系图(每个 class),而不是由 project/namespace/etc
聚合我的最终目标是获得这样的列表<Class Name>: <Dependency1>, <Dependency N>
- Class1: Class2, Class6, Class9
- Class2: Class1, Class4
- Class3:
- Class4: Class2, Class5
等等
更新: 我正在使用 Visual Studio 2015 高级版。
您正在查找的功能是代码映射。我不确定它们现在是否在 VS 2015 Premium 中可用,但它们在最初发布时没有。这篇文章的评论可能会对您有所帮助:New ways to quickly create a Code Map.
您还可以尝试与 VS2015(所有 SKU,包括 Premium)以及 VS 2019、2017、2013、2012、2010 所有 SKU 集成的工具 NDepend,旧版 Express SKU.
使用 NDepend,您可以在 Visual Studio C# linq queries that are compiled/executed live 中进行编辑。例如,下面的代码查询显示了所有 classes 依赖项:
from t in Application.Types
select new { t, t.TypesUsed, t.TypesUsingMe }
代码查询结果可以导出到图,这样可以生成多种依赖图:Call Graph, Class Inheritance Graph, Coupling Graph...
I wasn't able to find the way to export the results in some easy-to-analyze format.
除了 Visual Studio 中的实时代码查询外,还可以通过 API 使用 NDepend 代码查询,您可以利用它来创建 C# 程序并以任何格式导出任何数据。
新的 NDepend 版本 2020.1 现在让您可以为 class 或单击中的方法生成调用图:
免责声明:我为 NDepend
工作