需要 .NET 程序集查看器

标签 .net

我需要一个 .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/

相关文章:

c# - Windows 窗体应用程序设置问题

.net - 将 IDisposable 作为参数传递

.net - .Net WebClient 类中的curl -u 等效项

c# - 命名空间 System.Windows.Automation 的用途是什么

c# - 如何使类受继承保护?

c# - 读取分隔文本文件?

.net - 重定向程序集绑定(bind)是否适用于使用测试运行程序进行单元测试?

c# - 在 Winform 和 aspx 应用程序之间共享类

c# - 如何以编程方式区分 XP 64 位和 Server 2003 64 位之间的区别

.net - 为什么我不能将 ASP.NET Framework 版本显示为 3.5?