[.NET Tool] MSIL Reader–ILSpy
ILSpy 是一套透過反射觀察.NET組件(*.exe,*.dll)的免費軟體,透過官網可以看到這跟 Reflector UI長的很像
下圖是官網的連結
看一下官網上寫的特性,蠻多功能跟 Reflector 相同,不過可以確定的是,Show XML Document 我在 Reflector 找不到
ILSpy Features
- Assembly browsing
- IL Disassembly
- Support C# 5.0 "async"
- Decompilation to C#
- Supports lambdas and 'yield return'
- Shows XML documentation
- Decompilation to VB
- Saving of resources
- Save decompiled assembly as .csproj
- Search for types/methods/properties (substring)
- Hyperlink-based type/method/property navigation
- Base/Derived types navigation
- Navigation history
- BAML to XAML decompiler
- Save Assembly as C# Project
- Find usage of field/method
- Extensible via plugins (MEF)
- Assembly Lists
它有提供一個外掛
還蠻酷的它叫:Assembly Visualizer
透過作者的Blog可以看到,它是在畫組件的圖
下圖連結來自作者Blog
它也為Reflector提供了畫圖的外掛
下載ILSpy後再去下載Assembly Visualizer dll,把Assembly Visualizer的dll擺在ILSpy.exe的目錄下就可以了
還要特別介紹一個ILSpy團隊所開發的產品叫 ILSpy-Debugger,跟上面介紹比較不同的是,它可以像VS那樣子的調試組件,這似乎還在測試當中,好像還沒有跟原本的ILSpy整合,必須要再另外下載屬於Debugger的ILSpy
作者的 blog 寫的相當的清楚,按圖操作就可以了
下圖來自作者 Blog
經我測試,組件就算沒有PDB檔也仍能中斷調試,下圖是用Release Mode編譯的Winform程式測試
若有謬誤,煩請告知,新手發帖請多包涵
Microsoft MVP Award 2010~2017 C# 第四季
Microsoft MVP Award 2018~2022 .NET