我需要一个 .NET 程序集查看器,它可以显示低级详细信息,例如元数据表内容等。
最佳答案
ildasm 是 IL 反汇编程序,具有低级托管元数据 token 信息。安装 Visual Studio 时,它会作为 Windows SDK 的一部分安装。它应该可以从 VS 命令提示符访问。
当您打开托管程序集时,按 Ctrl+M 或执行查看 » 元信息 » 显示!查看元数据 token ,例如:
TypeDef#1 (02000002)
-------------------------------------------------- -----
类型定义名称:ConsoleApplication1.Program (02000002)
标志:[NotPublic] [AutoLayout] [Class] [AnsiClass] [BeforeFieldInit] (00100000)
扩展:01000001 [TypeRef] System.Object
方法 #1 (06000001) [入口点]
-------------------------------------------------- -----
方法名称:主要 (06000001)
...
还有一些选项可以通过 ildasm /text /metadata=raw foo.dll
查看原始元数据表:
//================================================ =
//25(0x19): MethodImpl cRecs: 0(0), cbRec: 6(0x6), cbTable: 0(0)
//col 0:* Class oCol: 0, cbCol:2, TypeDef
//col 1: MethodBody oCol: 2, cbCol:2, MethodDefOrRef
//col 2: MethodDeclaration oCol: 4, cbCol:2, MethodDefOrRef
//================================================ =
//26(0x1a): ModuleRef cRecs: 0(0), cbRec: 2(0x2), cbTable: 0(0)
//col 0: 名称 oCol: 0, cbCol:2, 字符串
//================================================ =
//27(0x1b): TypeSpec cRecs: 0(0), cbRec: 2(0x2), cbTable: 0(0)
//col 0: 签名 oCol: 0, cbCol:2, blob
//...
关于需要 .NET 程序集查看器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4966877/