我正在阅读 Jeffery Richter 的书“CLR via C#”。他提到 CLR 元数据表包含 TypeRef 和 MemberRef 部分。
我想通过读取这些 MemberRef 和 TypeRef 信息来构建一个调用图。最好的方法是什么?经过搜索,我发现有人直接使用PE/CLR文件格式读取文件。有人使用 native IMetaDataImport。我想知道是否有任何 .net 内置类或第 3 方库可以这样做?
谢谢!
最佳答案
如果您想查看元数据,可以使用 ILDasm.exe。
例子:ILDasm.exe D:\MyTestAsm.dll
下一步:查看 -> 元信息 -> 我们展示!
如果你想从代码中接收数据,你可以研究第 3 方库 Mono:
http://www.mono-project.com/docs/tools+libraries/libraries/Mono.Cecil/
MetaData 它是 IL 代码的一部分。如果你想看 Il 代码,你可以看到这个: How to get access to embedded assembly's metadata using IMetaDataDispenser.OpenScope?
关于metadata - 如何读取.net 程序集的元数据表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30615133/