2012-01-16 249 views
-1

我有一個嚴重的問題,我的硬盤昨天崩潰了,我有大量的項目。我失去了他們中的大部分,但我恢復的那些都是我發送給客戶端的調試文件夾(大部分是桌面應用程序)。我無法恢復大部分工作的代碼,但我確實有調試文件夾,我的問題是有什麼辦法可以從他們那裏恢復我的代碼。 我相信有人會在過去經歷過,如果您有任何關於此的信息,請幫助。如何從visual studio 2010中恢復數據/代碼,使調試文件夾?

文件中的debug文件夾:例我提出申請蘋果

apple.exe      type=application 
apple.pdb      type=PDBFIle 
apple.vshost     type=Application 
apple.vshost.exe.mainfest  type=MANIFEST File 

附加信息:

我的筆記本電腦hardisk墜毀,所以我目前正在使用它與另一臺筆記本電腦USB驅動器。我有3個分區,但現在我看到4個i,j,k,l。其中一個曾經是我的D:驅動器工作正常,我看到它顯示了72 GB免費的150 GB。其餘的他們只是沒有信息,當我點擊他們沒有幾分鐘,然後它說格式驅動器等...如果你知道如何解決這將是美好的。

謝謝

+0

究竟是什麼文件夾中? – 2012-01-16 02:29:52

+0

當我們構建應用程序時,Visual Studio製作的通常調試文件夾。例如,我製作了一個應用程序然後: 請參閱上面我已更新說明 謝謝 – confusedMind 2012-01-16 02:34:42

+0

這沒什麼幫助。該文件夾中的內容取決於您的設置。 – 2012-01-16 02:36:20

回答

4

你真的運氣好具有訪問包含你的編譯的二進制文件調試文件夾。您使用託管語言(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搜索查找更多信息。有很多不同的選擇。你挑選哪一個並不重要;重要的是你選擇一個!

+0

非常感謝,這比我的預期更有幫助。 :)非常感謝。 – confusedMind 2012-01-16 04:57:47

相關問題