在 .Net 中,我想枚举所有 AppDomain 上的所有已加载程序集。为我的程序的 AppDomain 执行此操作非常简单 AppDomain.CurrentDomain.GetAssemblies()
。我是否需要以某种方式访问每个 AppDomain?或者是否已经有执行此操作的工具?
最佳答案
使用 Visual Studio
- 将调试器附加到进程(例如从调试开始或调试 > 附加到进程)
- 调试时,显示模块窗口(调试 > 窗口 > 模块)
这提供了有关每个程序集、应用程序域的详细信息,并提供了一些加载符号的选项(即包含调试信息的 pdb 文件)。
使用进程浏览器
如果你想要一个外部工具,你可以使用 Process Explorer (免费软件,由 Microsoft 发布)
单击一个进程,它将显示一个包含所有使用的程序集的列表。该工具非常好,因为它显示了其他信息,例如文件句柄等。
以编程方式
检查 this SO解释如何做的问题。
关于c# - 如何列出所有加载的程序集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/458362/