你真的運氣好具有訪問包含你的編譯的二進制文件調試文件夾。您使用託管語言(C#)的事實意味着您可以使用其中一個.NET反編譯器以可讀格式顯示它們包含的源代碼。它可能不是剛好與您最初輸入到Visual Studio中的內容相同,但它會比通常在系統崩潰時通常預期的要好。
我曾經爲此任務推薦Redgate的.NET Reflector,但他們最近決定取消免費版本的反編譯器工具,並採用了一些我個人不同意的商業慣例。再次,他們的工具可能仍然是最好的,所以你可以考慮下載他們的30天試用版,試圖讓你的代碼恢復。誰知道,你可能喜歡它,所以你買!
如果你是像我這樣的小知識分子,或者是真正自由軟件的奉獻者,你可以嘗試一種免費的替代品,這些替代品在Reflector變得不自由之後突然冒出來,比如ILSpy,由開發SharpDevelop的人開發。列出更多的替代品here。
無論您選擇哪種反編譯器工具,請下載一個副本並打開其可執行文件。然後從「文件」菜單中選擇「打開」,然後導航到您要從中恢復源代碼的第一個已編譯的.exe
。該實用程序將顯示您的應用程序的名稱和一些關於您的程序集的元數據。從這裏開始,你可以確保你打開了正確的文件。
在ILSpy和.NET Reflector中,您都可以單擊應用程序名稱旁邊的[+]切換以展開其列表。您將看到更多可擴展項目,例如References(應用程序使用的DLL),Resources(編譯到應用程序中的資源文件)以及代碼中定義的名稱空間。擴展單個名稱空間將顯示在該名稱空間中定義的所有類型,並且展開一個類型將向您顯示在該類型中定義的所有類型,方法,成員等,等等。單擊左側源代碼樹中的各個項目將在右側的輸出窗格中顯示已反編譯的代碼; ILSpy和.NET Reflector都支持將代碼顯示爲C#,這應該看起來非常易讀。
例如,使用ILSpy打開ILSpy.exe
應用程序本身產生以下輸出:
你真的不能在這裏破壞任何東西,所以瀏覽周圍,探索,看到什麼都可以被收回,驚訝於它的工作效果。一切工作都與DLL一樣好,就像EXE一樣。
然後開始複製和粘貼...
業務的下一個訂單再次讓你的系統穩定。如果您遇到硬盤故障,您絕對不會再相信該硬盤!立即用完,立即購買新的,擦除它,然後重新加載Windows。
一旦你完成這一點,你肯定想要設置一個source/version/revision control system在將來使用來存儲您的代碼。所有聰明的開發者都有這麼多的理由。使用Google搜索查找更多信息。有很多不同的選擇。你挑選哪一個並不重要;重要的是你選擇一個!
究竟是什麼文件夾中? – 2012-01-16 02:29:52
當我們構建應用程序時,Visual Studio製作的通常調試文件夾。例如,我製作了一個應用程序然後: 請參閱上面我已更新說明 謝謝 – confusedMind 2012-01-16 02:34:42
這沒什麼幫助。該文件夾中的內容取決於您的設置。 – 2012-01-16 02:36:20