我对Visual Studio 2010有一个非常奇怪的问题。
我的程序有一些内存问题,所以我必须经常重启。在最后一次重新启动后,我的一个头文件已经自动损坏,现在只能通过记事本打开(即使是从Visual Studio的内部环境,也可以在调试时(它只显示汇编代码)或者当我去这个文件的文件夹并执行“使用Visual Studio打开”,它仍然打开它的记事本。)
我在Microsoft论坛中found the problem,但没有任何解决方案。
答案 0 :(得分:7)
我最近遇到了同样的问题。我相信该文件已被非打印字符损坏;它在Notepad中看起来很好,除了每一行都缩进一个空格。
要解决此问题,我必须在记事本中打开文件,然后删除/删除原始文件,通过向项目添加新项目来重新创建它,并从记事本中复制旧文件的内容。
我正在使用VS Express 2013,它在粘贴的文本上强加了自己的格式,因此缩进在此时消失了。 Mercurial不会在损坏的文件和新文件之间显示任何差异(除了我刚刚添加的一些代码)。
答案 1 :(得分:5)
如果Visual Studio无法识别文件的编码,如果文件已损坏(在我的情况下由于电源故障),通常就是这种情况,它将默认使用记事本打开文件
虽然@Sammler幸运的是他的已损坏文件是可恢复的(通过在更宽容的文本编辑器中打开半损坏的文件),但不能保证会出现这种情况,并且您可能会因为失去工作/档案内容。
答案 2 :(得分:2)
同样的事发生在我身上。
这是在我的Windows VM无响应后发生的。在我的Mac上使用VMWare Fusion,我做了一次强制关机"。当它恢复时,我正在处理的文件在记事本中打开,似乎是空白的。
我使用Notepad ++打开文件,发现文件内容只是一串NUL字符(显示深色背景的字符)。我确定VS看到了这个并决定它想要显示损坏的数据。显然Force-Shutdown造成了这种情况,所以我唯一的办法是从源代码控制中获得备份。
答案 3 :(得分:0)
如果文件中的终止符为空,则可能会发生这种情况(也称为“ \ 0”)
答案 4 :(得分:0)
我也发生了。由于某种原因,我的文件另存为UNICODE,而不是像其他所有项目文件一样保存在ANSI中。 只需使用记事本另存为ANSI。