基本上,我需要的是Dependecy Walker之类的东西,但它应该适用于 .NET 应用程序。有没有这样的工具?
8 回答
反射器- 以前来自 Lutz Roeder,现在来自 Red-Gate 软件。
对于 .NET 4,请查看我们的 CheckAsm:http ://www.amberfish.net/
在运行时Systernals的ProcessExplorer可能有助于查看程序集依赖项。
NDepend还可以显示依赖关系以及组件耦合的紧密程度。
反射器不是免费的,另一个也不是免费的,只是试用。我遇到了同样的问题,发现了这个优秀的工具:
http://www.codeproject.com/Articles/246858/Depends4Net-Part-1
ildasm.exe
也适用于此目的。
此工具随 Visual Studio 自动安装。要运行该工具,请使用开发人员命令提示符(或 Windows 7 中的 Visual Studio 命令提示符)。
ildasm.exe
在加载程序集时列出命名空间、类型、方法等的树。
您可以通过双击MANIFEST并搜索以 . 开头的行.assembly extern
来查看程序集的所有依赖项。
ildasm.exe
附带 Visual Studio 或 .NET SDK 安装,因此您很可能已经在您的计算机上安装了它。
Dependency Walker 也可以与 .Net 一起使用。
.Net 层仍然需要调用诸如 LoadLibrary 和 GetProcAddress 之类的核心 Windows 函数来完成实际工作。Dependency Walker 正是在这个核心级别上了解正在发生的事情。因此,虽然 Dependency Walker 可能无法理解应用程序的所有语言特定复杂性,但它仍然能够在核心 Windows API 级别跟踪所有模块活动。