C# 为.net项目/解决方案创建类之间的依赖关系图

C# 为.net项目/解决方案创建类之间的依赖关系图,c#,static-analysis,C#,Static Analysis,是否有一种编程方式或工具允许迭代项目/程序集中的所有类并找出其他依赖类? Resharper具有类似的功能,但我无法找到以某种易于分析的格式导出结果的方法 我的最终目标是创建类之间的依赖关系图(每个类),而不是按项目/名称空间等进行聚合 我的最终目标是得到这样的列表:, 等 更新: 我正在使用Visual Studio 2015 Premium。您正在寻找的功能是代码映射。我不确定它们现在是否在VS 2015 Premium中可用,但它们不是在最初发布时。本文中的评论可能会帮助您:。您还可以尝试

是否有一种编程方式或工具允许迭代项目/程序集中的所有类并找出其他依赖类? Resharper具有类似的功能,但我无法找到以某种易于分析的格式导出结果的方法

我的最终目标是创建类之间的依赖关系图(每个类),而不是按项目/名称空间等进行聚合

我的最终目标是得到这样的列表
:,

更新:
我正在使用Visual Studio 2015 Premium。

您正在寻找的功能是代码映射。我不确定它们现在是否在VS 2015 Premium中可用,但它们不是在最初发布时。本文中的评论可能会帮助您:。

您还可以尝试与VS2015(所有SKU,包括特优)集成的工具NDepend,以及与2019、2017、2013、2012、2010(除旧版Express SKU外的所有SKU)集成的工具NDepend

使用NDepend,您可以在Visual Studio中进行编辑。例如,下面的代码查询显示所有类的依赖关系:

from t in Application.Types
select new { t, t.TypesUsed, t.TypesUsingMe }

代码查询结果可以导出到图中,这样可以生成多种依赖关系图:

我找不到以某种方式导出结果的方法 易于分析的格式

除了VisualStudio中的实时代码查询外,还可以通过一个可用于创建C#程序和以任何格式导出任何数据的


新的NDepend版本2020.1现在让您在单击中为类或方法生成调用图:



免责声明:我为NDepend工作

您使用的是哪个版本的Visual Studio?更昂贵的版本有这些工具。这在更高层的Visual Studio SKU(企业级/终极版,可能是高级版)中得到支持:谢谢各位,我用VS版本和版本更新了这个问题。谢谢。默认情况下,它显示按项目/命名空间聚合的依赖项。有没有显示类级依赖关系的方法?谢谢Patrick!我能够通过NDepend获得我想要的东西(通过使用C#Api编写应用程序)。NDepend很棒,它提供的功能让我大吃一惊!我们很高兴NDepend能帮助您实现您想要的:)这是一个好工具,但您忘了提到它的成本
from t in Application.Types
select new { t, t.TypesUsed, t.TypesUsingMe }