LSPrepair軟件可以提供不錯(cuò)的系統(tǒng)功能,ILSpy的界面與Reflector相似,左邊以樹型控件顯示程序集和它的類型,右邊是對(duì)應(yīng)的源代碼。歡迎大家來下載使用哦。
介紹
基礎(chǔ)的反編譯功能,與Reflector相比,絲毫不差,甚至有時(shí)候用Reflector無法反編譯(因?yàn)榧用?的程序集,用ILSpy可以反編譯。
基礎(chǔ)的類型反編譯功能都具備,現(xiàn)在只支持把源代碼反編譯為C#和IL語言,不支持VB。
當(dāng)需要找的程序集是.NET框架時(shí),可以直接從菜單File—Open from GAC中打開需要查看源碼的程序集。
代碼保存功能也做得不錯(cuò),當(dāng)點(diǎn)擊一個(gè)類型時(shí),選擇File->Save Code會(huì)反編譯當(dāng)前的類型并保存到指定的文件中,當(dāng)選擇程序集時(shí),Save Code保存為一個(gè)項(xiàng)目(csproj)文件,并且把它所有的類型加到這個(gè)項(xiàng)目中。
使用
這里要說的調(diào)試器,不是指Visual Studio的源碼級(jí)別的調(diào)試器,而是指程序集的調(diào)試器。Reflector有個(gè)Addin,可以直接附加在Visual Studio中,調(diào)試第三方的類型庫,而不需要把第三方的類型庫反編譯后,以源碼的形式添加到項(xiàng)目中。
ILSpy也有這個(gè)功能,直接對(duì)第三方的程序集進(jìn)行調(diào)試,有兩種選項(xiàng)
如果第三方類型庫是可執(zhí)行程序(EXE),可以用Debug an executable來啟動(dòng)這個(gè)程序。
如果第三方類型庫是程序集(DLL),可以用Attach to running application來附加,以啟動(dòng)程序集的調(diào)試。