如何从visual studio 2010恢复数据/代码制作调试文件夹?

时间:2012-01-16 02:28:18

标签: visual-studio-2010 data-recovery

我有一个严重的问题,我的硬盘昨天崩溃,我有很多项目。我丢失了大部分,但我恢复的是我发送给客户的所有调试文件夹(大多数是桌面应用程序) 。我无法恢复大部分工作的代码,但我确实有调试文件夹,我的问题是有什么方法可以从他们恢复我的代码。 我相信你过去会经历一些,如果您有任何相关信息,请提供帮助。

调试文件夹中的文件:示例i make application apple

apple.exe                     type=application
apple.pdb                     type=PDBFIle
apple.vshost                  type=Application
apple.vshost.exe.mainfest     type=MANIFEST File

附加信息:

我的笔记本电脑硬盘崩溃所以我目前正在使用它作为另一台笔记本电脑的USB驱动器。我有3个分区,但现在我看到4 i,j,k,l。其中一个曾经是我的D:驱动器工作正常,我看到它显示从150 GB的72 GB免费。其余的他们只是没有信息,当我点击他们没有几分钟然后它说格式驱动器等...如果你知道如何解决那将是美好的。

谢谢

1 个答案:

答案 0 :(得分:4)

您真的很幸运能够访问包含已编译二进制文件的Debug文件夹。您使用托管语言(C#)这一事实意味着您可以使用众多.NET反编译器之一以可读格式显示它们包含的源代码。它可能与您最初在Visual Studio中输入的内容完全相同,但它会比在系统崩溃时通常预期的更接近。

我过去常常推荐Redgate的.NET Reflector来完成这项任务,但他们最近决定取消他们的反编译工具的免费版本,并采用了我个人不同意的一些商业行为。然后,他们的工具可能仍然是最好的,所以你可以考虑下载他们的30天试用版,试图让你的代码回来。谁知道,你可能会喜欢它,你买了!

如果你是像我这样的小气鬼,或者是真正自由软件的奉献者,你可以尝试一下在Reflector变得不自由之后出现的免费替代方案,例如ILSpy,由同一个人开发开发SharpDevelop。列出了更多替代方案here

无论您选择哪种反编译器实用程序,请下载副本并打开其可执行文件。然后从“文件”菜单中选择“打开”,并导航到要从中恢复源的第一个编译的.exe。该实用程序将显示应用程序的名称和有关程序集的一些元数据。从这里,您可以确保打开了正确的文件。

在ILSpy和.NET Reflector中,您可以单击应用程序名称旁边的[+]切换以展开其列表。您将看到更多可扩展的项目,例如References(应用程序使用的DLL),Resources(编译到应用程序中的资源文件)以及代码中定义的名称空间。扩展单个命名空间将显示该命名空间中定义的所有类型,扩展类型将显示该类型中定义的所有类型,方法,成员等,依此类推。单击左侧源树中的各个项目将在右侧的输出窗格中显示反编译的代码; ILSpy和.NET Reflector都支持将代码显示为C#,这对您来说应该是非常易读的。

例如,使用ILSpy打开ILSpy.exe应用程序本身会产生以下输出:

你真的不能在这里打破任何东西,所以导航,探索和看到所有可以恢复的东西,惊讶于它的工作原理。对于DLL,一切都与EXE一样。

然后开始复制和粘贴......

下一步的业务是让您的系统再次稳定。如果您遇到硬盘崩溃,那么您绝对不希望再次信任该驱动器!立即用完并购买一个新的,擦除它,并重新加载Windows。

完成后,肯定希望设置source/version/revision control system以便将来用于存储代码。所有智能开发人员都使用它有很多原因。通过Google搜索查找更多信息。有很多不同的选择。你选择哪一个并不重要;重要的是你选一个!