2011-02-11 85 views
4

我需要一个.NET组件观看者可显示低级别的细节,例如元数据表的内容,等等.NET大会观众想

+1

可能重复(http://stackoverflow.com/questions/320272/dot-net-assembly-viewer) – adatapost 2011-02-11 08:21:22

+0

@adatapost,可能需要在写之前仔细阅读问题? – user536232 2011-02-11 09:13:26

回答

7

ildasm,该IL反汇编器,具有低级别的管理的元数据标记的信息。当您安装Visual Studio时,它将作为Windows SDK的一部分进行安装。它应该可以通过VS命令提示符访问。

当您打开托管程序集,创下按Ctrl +中号还是查看»元信息»显示!看到元数据标记,如:

 
TypeDef #1 (02000002) 
------------------------------------------------------- 
    TypDefName: ConsoleApplication1.Program (02000002) 
    Flags  : [NotPublic] [AutoLayout] [Class] [AnsiClass] [BeforeFieldInit] (00100000) 
    Extends : 01000001 [TypeRef] System.Object 
    Method #1 (06000001) [ENTRYPOINT] 
    ------------------------------------------------------- 
     MethodName: Main (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: Name   oCol: 0, cbCol:2, string 
// ================================================= 
// 27(0x1b): TypeSpec    cRecs: 0(0), cbRec: 2(0x2), cbTable:  0(0) 
// col 0: Signature oCol: 0, cbCol:2, blob 
// ... 
+0

这还不够。我需要查看元数据表。 – user536232 2011-02-11 08:34:42

+0

@ user536232:看到我更新的答案。它看起来像ildasm可以以文本格式转储原始元数据表。我不知道这是多么可理解,但我知道ildasm与运输编译器保持同步。 – 2011-02-11 08:48:46

-1

我认为它已经建立,在Visual Studio 2008或使用

NDepend的

NDepend的是一个Visual Studio工具来管理复杂的.NET代码,实现高码第四纪lity。使用NDepend,可以使用代码度量来测量软件质量。

NDepend

+5

NDepend与装配元数据表有什么关系?很确定的答案是“没有,一点都没有” – 2011-02-11 08:36:51

1

Reflector将这样做。它会显示资源以及有关方法的元数据信息等。

1

有一个应用程序CFF资源管理器,它将向您显示元数据目录,PE标题和所有其他好东西。

可从以下?点网组件,浏览器] http://www.ntcore.com/exsuite.php