一、以windows服務和winform項目為例,此處用的是winform,發布后的程序都會生成.exe文件,如果有其它關聯的程序集,會打包成.dll的動態庫文件,一般打包后exe和dll都會帶.pdb文件,項目中添加引用的第三方庫沒有.pdb文件;
二、使用反編譯工具(這里使用的是dnSpy),打開.exe和.dll的文件,可以看到庫中的類和引用;
三、點擊文件--導出到工程可導入到一個文件夾中,並且會有.sln文件(注意:導的時候把所需文件一塊導出);
四、可以直接使用Visual Studio打開項目,因為反編譯並不能盡善盡美,有可能會有反編譯后的類中有錯誤的情況,需要自己修改錯誤和添加第三方庫(第三方庫打包后的程序中都有,錯誤多可以嘗試使用其它反編譯工具,結合不同工具看反編譯后的代碼的差異);
五、也可以自己創建項目,然后自己創建相應的程序集和文件夾,把反編譯后的類和頁面都復制到項目中使用,我就是用的這種方法,自己創建程序集和文件夾,整合並修改完錯誤可以運行,因為總感覺使用反編譯工具的程序有不完善的地方,沒有自己創建的項目實在;
dnSpy反編譯工具下載:
鏈接:https://pan.baidu.com/s/1xyWbFVOgHy1wDjqudBj3Nw
提取碼:hz6f
備注:windows服務和winform項目反編譯是一樣的;asp.net程序發布后程序集只會打包成dll文件,頁面文件可以直接使用,如果需要反編譯為可以運行的程序,需要自己創建項目把反編譯的類和頁面整合起來。