2013-08-24 54 views
0

好的,所以我的硬盤剛剛崩潰。大不了。我的所有網頁開發代碼都與之配合,現在我在Ubuntu上運行ddrescue,試圖恢復任何可以恢復的數據。硬盤保持斷開連接,有時它可以停止響應很長時間,所以這真的是一個痛苦的屁股。從Windows Azure VM獲取代碼

無論如何,回到主題 - 我有我的網頁開發代碼打包並上傳到Azure;現在我想知道的是,如果有可能從虛擬機中獲得我所有的.cs文件。我注意到了approot和siteroot文件夾,但是我所看到的只是視圖,.asax文件,其他一些misc文件,沒有.cs擴展名。

有沒有什麼辦法可以得到我打包的代碼的副本?或(作爲最後的手段)以任何方式獲得.cspkg文件並在那裏工作?

回答

0

您在Web角色和cspkg文件中看到的站點是編譯的輸出,因此您無法從中獲取原始的.cs文件。也就是說,你可以使用Reflector,Just Decompile或其他各種反編譯工具將反編譯過的代碼轉換成非常接近原始C#代碼的東西(不是我假設這是你自己的代碼或代碼沒有針對逆向工程的規定)。這至少可以讓你使用webrole上的位來獲取你的大部分代碼,然後檢查它看看它有多好。

請注意,您可以打開cspkg文件。這只是一個zip文件。您可以使用.zip文件擴展名進行重命名並打開它,但不會在其中找到.cs文件。唯一一次你發現這種情況就是如果你在一個web角色中有多個網站。 Windows Azure的默認打包程序不會編譯其他站點,只會打包其根目錄中的所有文件。真的對實際部署沒有任何幫助,但這不可能對您有所幫助。

你很可能在這方面領先於我,但我建議使用某種個人源代碼控制系統來避免將來出現這個問題。