正在从Windows Azure VM获取代码

本文关键字:VM 获取 取代码 Azure Windows | 更新日期: 2023-09-27 18:28:58

好的,所以我的硬盘刚刚崩溃。了不起的事我所有的网络开发代码都在上面,现在我在Ubuntu上运行ddrescue,试图恢复我能恢复的任何数据。硬盘不断断开连接,有时它会在很长一段时间内停止响应,所以这真的很痛苦。

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

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

正在从Windows Azure VM获取代码

您在web角色和cspkg文件中看到的站点是编译的输出,因此您无法从中获得原始的.cs文件。也就是说,你可以使用像Reflector、Just Decompile或其他各种反编译器这样的工具,将你编译的比特进行反向工程,使其与原始C#代码非常接近(我不是说这是你自己的代码,或者没有反工程条款的代码)。这至少可以让你使用webrole上的部分来取回大部分代码,然后查看它做得有多好。

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

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