21

基本上,我需要的是Dependecy Walker之类的东西,但它应该适用于 .NET 应用程序。有没有这样的工具?

4

8 回答 8

11

反射器- 以前来自 Lutz Roeder,现在来自 Red-Gate 软件。

于 2008-10-13T12:42:28.333 回答
10

对于 .NET 4,请查看我们的 CheckAsm:http ://www.amberfish.net/

于 2010-11-15T12:14:36.953 回答
9

我更喜欢ILSpy。它是一个开源的 .NET 程序集浏览器和反编译器。是的,它显示了依赖关系。

反射器的体面替代品,不再免费。

于 2013-07-02T00:56:09.510 回答
5

NDepend 是专门用于依赖管理和可视化的 .NET 工具。该工具提出了一个依赖图和一个依赖矩阵。可在此处免费试用该工具。这是依赖图的 2 个屏幕截图,后面是依赖矩阵:

NDepend 依赖图 NDepend 依赖矩阵

于 2008-11-21T09:50:55.523 回答
2

在运行时SysternalsProcessExplorer可能有助于查看程序集依赖项。

NDepend还可以显示依赖关系以及组件耦合的紧密程度。

于 2008-10-13T19:37:39.183 回答
1

反射器不是免费的,另一个也不是免费的,只是试用。我遇到了同样的问题,发现了这个优秀的工具:

http://www.codeproject.com/Articles/246858/Depends4Net-Part-1

于 2013-01-18T21:39:49.817 回答
1

ildasm.exe也适用于此目的。

此工具随 Visual Studio 自动安装。要运行该工具,请使用开发人员命令提示符(或 Windows 7 中的 Visual Studio 命令提示符)。

ildasm.exe在加载程序集时列出命名空间、类型、方法等的树。

伊尔达斯曼

您可以通过双击MANIFEST并搜索以 . 开头的行.assembly extern来查看程序集的所有依赖项。

IL DASM 清单

ildasm.exe附带 Visual Studio 或 .NET SDK 安装,因此您很可能已经在您的计算机上安装了它。

于 2017-06-13T16:37:36.360 回答
0

Dependency Walker 也可以与 .Net 一起使用。

.Net 层仍然需要调用诸如 LoadLibrary 和 GetProcAddress 之类的核心 Windows 函数来完成实际工作。Dependency Walker 正是在这个核心级别上了解正在发生的事情。因此,虽然 Dependency Walker 可能无法理解应用程序的所有语言特定复杂性,但它仍然能够在核心 Windows API 级别跟踪所有模块活动。

参考

于 2008-10-13T12:43:00.563 回答