2011-10-01 211 views
8

我当时正在研究Visual Studio 2010中的一个类,当时我的计算机突然崩溃。我重新启动电脑后。我开始Visual Studio,我发现这个类是完全空的。它在课前包含1000多行代码。 有反正我可以恢复该文件?崩溃后恢复一个.CS类文件

请帮助,因为我没有它的另一个副本(愚蠢的我)

+5

@Oded,我想我们可以从'我没有其他副本'推断出源代码控制没有涉及。 –

+0

对不起,我不知道你是什么意思的源代码管理。我正在研究ASP.NET C#应用程序,并且丢失的类包含了很多我在应用程序中使用的方法。 – Youssef

回答

18

如果你不能找到源代码文件,请尝试使用Reflector反编译你含有类最近创建的DLL。它不会给你完整的来源,但至少会给你一些开始。

注:反射器不再免费;如果有问题,请尝试使用JetBrains的dotPeek

另外,请使用source code control系统。这会让你'提交'你的代码版本到一个版本库,所以你将会有一个副本,以防将来发生类似情况。

Subversion,GitMercurial是流行的;在我看来,Subversion最容易开始,特别是TortoiseSVN(OS集成)和AnkhSVN(Visual Studio集成)。如果您不想担心设置存储库/服务器,请查看托管解决方案,例如Beanstalk,它提供了Subversion和Git,并允许您使用免费的有限帐户进行试用。

祝你好运 - 我希望你能够恢复你的源!

+0

.NET Reflector有14天免费试用版,非常适合恢复损坏的文件。以下是您可以期待的一些内容:所有方法按字母顺序重新排序;大多数变量名称会被替换为泛型,比如'list2','node2'等;许多冗余限定符添加到代码中;所有评论都丢失了一些代码片段化。但是如果你不得不重新开始这个文件,这个选项会好很多。像下面提到的Rizwan一样,如果您希望此解决方案能够正常工作,请勿**重建**项目。 – user3738893

+0

dotPeek作品!注:最后几个版本可以在:C:\ Users \#\ AppData \ Local \ Temp \ Temporary ASP.NET Files \ vs \ ...(等等) – HerGiz

+0

我碰到同样的问题并解决它I由Jetbrains和ilspy尝试dotpeek http://ilspy.net/两个工作正常,但最好的是ilspy,因为它反编译并生成相当好的代码,比较dotpeek。 –

3

也只是想添加一件事... 在我的情况下,我有一个aspx页面及其各自的.cs和designer.cs .cs文件被破坏,我确实建立了项目,与设计师.cs该项目得到了成功的构建和DLL被取代。当我试图恢复使用反射器时,一切都处于不归路。 :(

所以,如果你看到任何文件被损坏了不建该项目。

5

一些东西,工作对我来说是后备。 顺便说一句,我试图恢复Windows 8机器上的VS2013文件。

尝试查看下面的位置在您的系统

C:\ Users \用户名\我的文档\ Visual Studio中\备份文件\ ProjectFolder

我发现原来最新的原始文件。 filename.cs名称和一个recover-date.filename.cs文件。

原来是需要的。 删除了项目中的一个,添加了原始文件并将其重命名为file.cs.尝试建设和调试,并给出了预期的结果。