2015-06-03 26 views
1

我在閱讀Jeffery Richter的書「CLR via C#」。他提到CLR元數據表包含TypeRef和MemberRef部分。如何閱讀.net程序集的元數據表

我想通過閱讀這些MemberRef和TypeRef信息來構建調用圖。最好的辦法是什麼?搜索後,我發現有人直接使用PE/CLR文件格式讀取文件。有人使用本機IMetaDataImport。我想知道是否有任何.NET內置類或第三方庫來做到這一點?

謝謝!

+0

爲什麼你需要這個...? –

+0

@MatíasFidemraizer例如獲取依賴關係圖。 – Archer

+0

請詳細說明這一點。做它作爲你的問題的一部分,所以我們可以知道你的實際目標是什麼... –

回答

1

如果你想看到元數據,你可以使用ILDasm.exe。

舉例:程序Ildasm.exe d:\ MyTestAsm.dll

下一頁:視圖 - >元信息 - >我們的表演!

如果你想從代碼接收數據,你可以研究第三方庫單:

http://www.mono-project.com/docs/tools+libraries/libraries/Mono.Cecil/

元數據它是IL-代碼的一部分。如果你想看到代碼,你可以看到: How to get access to embedded assembly's metadata using IMetaDataDispenser.OpenScope?