2011-02-11 83 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