metadata - 如何读取.net 程序集的元数据表

标签 metadata clr

我正在阅读 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/

相关文章:

android - 将元数据添加到 Android 中创建的位图中

asp.net - 在 ASP .NET 3.5 Web App 中删除 "noise"单词的最佳方法?

c# - 如何从 CLR 线程池而不是 ASP.NET 池在 ASP.NET 页面中创建线程?

c++ - 具有非托管成员的托管类

C++ : Appending text in form

javascript - 具有动态异步内容的 AngularJS 元数据

c# - 找不到 EntityType 异常的映射和元数​​据信息

c# - Java 和 C# 中的字符串

c# - CLR 是如何进行内存管理的

Android facebook applicationID 仍然为空