Visual Studio 崩溃后源文件为空?

7

我已经在为我的学位项目在XNA中进行游戏开发工作了三个月......准备收尾并提交时,突然出现了蓝屏。电脑重新启动后,我的 main.cs 文件中充满了愚蠢的空格。没有代码了。这就是从我完整的源代码中省略掉的一切......我该怎么办?请帮帮我。

谢谢

另外:我要哭了。


3
你肯定正在使用版本控制系统和/或保持备份? - Eric J.
你还能找到源文件并在外部编辑器(如notepad++)中打开它们,以查看你的源代码是否仍然存在吗?我不认为一个简单的崩溃会删除你的源文件。 - Kevin DiTraglia
@Eric J. 不行。现在我想我只能通过艰苦的方式来学习了。 无法找回源代码,尝试了所有方法。现在要尝试使用.NET反编译器。 - bbrez1
1
@bbrez1:Reflector 应该能够很好地重构源代码。 - Eric J.
1
没有任何备份吗?老兄... - Justin Skiles
显示剩余3条评论
5个回答

2

经常提到将文档保存或使用源代码管理的人真的是傻瓜,对于这个问题一无所知。我一直按照规范操作,甚至配置了自动恢复功能,但在蓝屏后回来时发现源文件是空的!经过一番调查,我意识到这是一个已知的Visual Studio bug(错误)。我的建议是使用云存储服务,例如GoogleDrive,在任何时候都保留源文件的副本。


这是一个特定的SSD问题。我也用Notepad++捕获到了它。https://dev59.com/52jWa4cB1Zd3GeqPpEm4#68174634 - Andry

2

我也遇到了这个问题,正如 @Eric J 建议的那样,我从最新编译生成的dll文件中反编译出了我的代码。


1

“清零文件”是 SSD 硬盘上特有的现象。由于某些原因,对这种设备的写入实际上是清零+写入的组合。因此,你有可能会丢失文件。我用了两个不同厂商生产的 SSD 硬盘,都出现过这种情况。我曾经因此丢失过一小时的工作内容,两次(当然,我正在使用代码版本控制系统,并且与此无关,正如本文所述)。

为了解决这个问题,你可以在编辑文件时查看一些 IDE 插件来进行备份。

下面是一些相关链接。

MSDN:

插件:

讨论:

如何还原文件:

在我的情况下,我使用了恢复软件,可以对驱动器进行低扫描以查找丢失或覆盖的文件。简单的未删除软件在这里无法帮助。上一次我使用了 Ontruck Easy Recovery Pro 5.0,但目前它无法检测到新硬件。上一次使用的是 O&O Disk Recovery 8。两者都是共享软件。有时它会恢复整个文件,有时只恢复部分(按512字节块或类似方式,其他部分填充为零)。如果您知道所需的文件扩展名,则可以选择文件扩展名(可能会更快地恢复,但不确定)。扫描后,选择过滤器无法按预期工作(不要问为什么),因此需要手动打开文件丢失的目录。

0

我遇到了一次常见的停电,这在我的国家很普遍。通常当VS要求我恢复文件时,我总是选择不恢复,因为我曾经有过在旧版VS 2005中的不良经历。但这次在VS2019中,由于我有很多未手动保存的工作,所以我选择了恢复。

结果它给了我一个空文件,里面全是[nul]字符,让我在一周的工作后手足无措。


0

如果您使用的是Windows 7操作系统,请右键单击文件夹或文件!进入其属性,查找“以前的版本”或类似选项。您可能能够恢复到早期版本。


另外...在尝试此操作时,请不要做任何其他事情。几个月前,我正在恢复一个大文件的阴影副本,而Windows 7在恢复操作期间出于未知原因删除了阴影副本。 - Eric J.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接