发布的Azure代码

时间:2017-05-26 20:04:00

标签: asp.net-mvc visual-studio azure

是否可以从Azure Cloud Service检索已发布的代码。

当我更改了TFS映射时,TFS清除了我在本地计算机上编写的代码。它将.csproj和.ccprof文件转换为csproj.user和.ccproj.user文件。它还删除了解决方案。自2月份以来我没有检查任何内容,所以检查丢失了3个月的代码。我可以访问一些视图,脚本和.css文件,但所有.cs文件都消失了。我尝试了以下内容。

  1. 远程桌面进入已发布的网站。 -Works但所有.cs文件都存储为.dll,代码丢失了 在反编译时“混淆”。
  2. Wondershare数据恢复。
    • 找到了一些文件但通常格式不可读。许多人仍在 丢失。
  3. 在Azure存储中的vsdeploy文件夹中获取blob。
    • 我有斑点。怎么办?有没有办法将其转换回可读项目?
  4. 使用“从Azure网站打开”扩展程序将项目加载到可视化中 由Azure Portal中的publishsettings文件创建的工作室。
    • 这适用于应用服务,但我找不到任何存在 。Azure中的.PublishSettings文件。来自的Get-AzurePublishSettingsFile调用 Windows Powershell不会下载正确的文件。使用时 扩展我得到一个“对象未设置为对象的实例”异常。一世 已经使用应用服务测试了扩展,它运行良好。

1 个答案:

答案 0 :(得分:0)

如果您正在谈论云服务中的Web /辅助角色,那么不 - 您无法检索已部署的代码。要将代码提供给云服务,它首先由Visual Studio(或直接通过命令行工具或通过Eclipse)打包。这需要首先编译所有代码。源文件不包含在包中(除非您明确地在包中设置了“copy local”为true,我无法想象有人这样做。)

至于blob存储中的内容:如果你的.cspkg仍然位于blob中,那么你可以下载并检查它。但同样,它只包含在本地构建并在部署期间上传的相同软件包。

使用Web Apps,您的代码d:\驱动器中可用,因为部署是通过版本控制完成的(除非您只是将某些内容写入)。

使用虚拟机(在“经典”部署模型中位于云服务中),您需要自己将代码推送到VM(没有内置的push-from-version-control)。所以,除非您将源代码推送到VM,否则无法检索所述源代码。

对于在本地计算机上擦除的代码,可能值得查看恢复/取证磁盘工具(看起来你已经开始做),看看你的代码是否仍然在某处,隐藏。但是,实际上,你如何寻找被删除/覆盖的文件将是偏离主题的(或者在SuperUser上要求的东西)。