2017-05-26 49 views
0

是否可以從Azure Cloud Service檢索發佈的代碼。已發佈Azure代碼

當我改變了我的TFS映射時,TFS清除了我在本地機器上寫的代碼。它將.csproj和.ccprof文件轉換爲csproj.user和.ccproj.user文件。它也刪除了解決方案。自從二月份以來,我沒有檢查任何東西,因此檢查失去了3個月的代碼。我可以訪問一些視圖,腳本和.css文件,但所有的.cs文件都沒有了。我已經嘗試了以下。

  1. 遠程桌面進入發佈的網站。 -Works但是所有.cs文件都存儲爲.dll,並且代碼丟失,並且 在分解時「混淆」。
  2. Wondershare數據恢復。
    • 找到了一些文件,但通常是不可讀的格式。許多人仍然缺少 。
  3. 在Azure存儲的vsdeploy文件夾中獲取blob。
    • 我有blob。怎麼辦?有沒有辦法將其轉換爲可讀的項目?
  4. 使用「從Azure網站打開」擴展程序通過Azure Portal中的publishsettings文件將項目加載到visual studio。
    • 這適用於應用程序服務,但我無法在Azure中找到 .PublishSettings文件的任何存在。來自 的Get-AzurePublishSettingsFile調用Windows Powershell不會下載正確的文件。當使用 擴展名時,我得到一個「未設置爲對象實例的對象」異常。我 已經測試了應用程序服務的擴展,它完美的工作。
+0

不,編譯代碼並將輸出發送到天藍色。它可能仍然在TFS中,但默認情況下是隱藏的。請參閱http://blogs.microsoft.co.il/eranruso/2011/01/24/show-deleted-items-in-tfs-source-control/(仍適用於2017年:-)) –

+0

問題是代碼我尋求從未在TFS。我從來沒有檢查過它,我只發表它。重新映射目錄會從我的本地計算機中刪除代碼,因此唯一的來源是發佈到Azure的代碼。 –

+0

在此[頁面]上嘗試解決方案2(https://www.codeproject.com/Questions/688944/How-to-download-Azure-Website-specifically-code-be) – ISHIDA

回答

0

如果你在一個雲服務說起網/輔助角色,則沒有 - 你不能檢索部署的代碼。爲了將代碼提供給雲服務,它首先被Visual Studio打包(或直接通過命令行工具或通過Eclipse)。這需要首先編譯所有代碼。源文件不包含在軟件包中(除非你明確地做了類似於在軟件包中設置「copy local」爲true的東西,這是我無法想象的)。

至於blob存儲中的內容:如果您的.cspkg仍位於blob中,那麼可以下載並檢查它。但同樣,它只包含在本地構建並在部署過程中上傳的相同包。

隨着Web應用程序,你的代碼在您d:\驅動器可用,因爲部署是通過版本控制(除非你只是FTP的東西了)。使用虛擬機(坐在「經典」部署模型中的雲服務中),您需要自己將代碼推送到虛擬機(沒有內置的從版本控制推入)。再說一遍,除非您將源代碼推送到VM,否則無法檢索所述源代碼。

至於在本地機器上被清除的代碼,可能需要查看恢復/取證磁盤工具(它看起來像您已經開始執行),以查看您的代碼是否仍在隱藏在某個地方。但是,真的,你如何去尋找刪除/覆蓋的文件將是無關緊要的(或者有關SuperUser的問題)。

+0

感謝您的詳細解釋並確認了什麼我懷疑。任何人都可以推薦一種工具,將Azure中vsdeploy文件夾中的blob轉換爲可讀代碼? –

+0

也許我太不清楚了 - 對不起 - 除了一般的.net反彙編程序之外,沒有可轉換爲可讀代碼的工具(並且您需要自行確定)。 blob實際上只是一個帶有DLL,配置等的zip文件。 –