【发布时间】:2013-09-09 08:06:30
【问题描述】:
当我的 .net exe 运行时,它会在运行时加载正确的 .net 程序集。我知道发生了一个探测过程。
我的问题是,如果我在 ildasm 中打开 .net exe/dll,我只有对 mscorlib.dll 的 .extern 引用,而不是其他的。
那么 clr 如何获取探测 .net 引用的程序集所需的信息?
我有一个示例项目和图片。
所以在这种情况下,我在 System、System.Xml.Linq、Questions 等任何地方都看不到 .net 程序集引用,但显然它们是由 clr 加载的,我确实在我的 fusion logviewer 中看到了它们
.net 程序集所需的数据位于何处?
我注意到一些不一致的行为行为,外部程序集如何为某些核心 .net dll 和其他外部 .net dll 放置清单。
谢谢
【问题讨论】:
-
只是不是同一个EXE。您的 disasm 是针对 Questions.exe,您的跟踪是针对 Questions.vshost.exe。其中包括托管进程和调试器依赖项。在 VS 之外运行 Questions.exe 以比较苹果和橙子。
-
我知道,我刚刚发布了新照片。
-
@John:提示:如果你足够在意,你可能还想把 ILDASM 的标题栏也涂黑。
标签: c# .net clr assemblies ildasm