从程序集元数据读取/获取TypeRef表
本文关键字:TypeRef 获取 程序集元数据 读取 | 更新日期: 2023-09-27 18:27:55
这是这个问题的后续问题:
为了分析一个程序集(或它使用的类型),我想阅读该程序集的TypeRef
表。
我得到了使用Mono.Cecil
来做这件事的提示,但我只找到了阅读TypeDef
信息的示例。同样在浏览cecil的源代码时,我只发现了内部类,在我看来,这些类负责读取元数据,但我没有发现"公共接口"。
我还发现了这篇文章,它使用一些COM库来读取元数据,但我也不知道如何将其用于我的目的。
有人能告诉我如何读取程序集的TypeRef
表(最好使用Mono.Cecil
之类的东西,而不是COM)吗
如果有人能为我指明正确的方向,我也很高兴。。。
使用Cecil,只需要访问ModuleDefinition.GetTypeReferences()
。例如:
var assembly = AssemblyDefinition.ReadAssembly(assemblyPath);
var typeReferences = assembly.MainModule.GetTypeReferences();