【.Net】获取程序集地址
概述:获取不同 AppDomain 下 Assembly 的地址
方法一 ProcessModuleCollection
代码
1 |
|
说明
警告
不适用于查询多个 AppDomain 的情况
ProcessModuleCollection
结构体可以通过 GetCurrentProcess
接口获取,该接口获取到的程序集地址为 PE 实际加载的 DLL 文件的地址。这就导致不管是在哪个 AppDomain 内执行,获取到的地址都是相同的。除非 AppDomain 使用 CLR 版本不同。
方法二 RunTimeHelper. m_pData
实测有效,不同 AppDomain 下加载的程序集都可以获取到正确的地址
参考来源
可以看下这个目录下的其他文件,如 MethodHelper、MemoryHelper,某些场景下很好用。
代码
1 |
|
【.Net】获取程序集地址
https://hodlyounger.github.io/2024/09/23/B_Code/CSharp/【.Net】获取程序集地址/