0

好的,所以我的硬盘刚刚崩溃。大不了。我所有的 Web 开发代码都随之运行,现在我正在运行ddrescue试图恢复我可以恢复的任何数据。硬盘总是断开连接,有时它会很长一段时间没有响应,所以真的很痛苦。

无论如何,回到主题——我有我的 web 开发代码,它被打包并上传到 Azure;现在我想知道是否可以从 VM 获取我所有的 .cs 文件。我注意到 approot 和 siteroot 文件夹,但我看到的只是视图、.asax 文件、其他一些杂项、东西,没有 .cs 扩展名。

有什么办法可以得到我打包的代码的副本吗?或者(作为最后的手段)任何方式来获取 .cspkg 文件并从那里工作?

4

1 回答 1

0

您在网络角色和 cspkg 文件中看到的站点是编译的输出,因此您无法从中获取原始 .cs 文件。也就是说,您可以使用 Reflector、Just Decompile 之类的工具或其他各种反编译器,将您编译的位逆向工程为非常接近原始 C# 代码的东西(我不是假设这是您自己的代码,或没有针对逆向工程的规定的代码)。这至少可以让您使用 webrole 上的位来取回大部分代码,然后查看它,看看它做得有多好。

注意,您可以打开 cspkg 文件。它只是一个 zip 文件。您可以使用 .zip 文件扩展名重命名并打开它,但您不会在其中找到 .cs 文件。您发现这种情况的唯一情况是您在一个 Web 角色中有多个网站。Windows Azure 的默认打包程序不会编译其他站点,只会打包其根目录中的所有文件。对实际部署根本没有帮助,但这可能对您没有帮助。

在这方面您可能远远领先于我,但我建议您使用某种个人源代码控制系统来避免将来出现此问题。

于 2013-08-25T22:52:56.840 回答