文件损坏?

问题描述:

我有一个表单,MainForm,它工作得很好,直到今天早上。我对一个不同的表单做了一些代码修改,当我去运行应用程序时,我在MainForm中收到一个错误(错误是无关紧要的)。文件损坏?

我走进MainForm,看看问题出在什么地方,并对我看到的东西感到震惊......所有的控制器都没有了。起初,我惊慌失措,但当我进入MainForm.Designer.cs文件并看到控件的所有代码仍然存在时,我都有点希望。

因此,设计器文件看起来很好,但设计视图不显示任何控件。

这曾经发生过任何人吗?我的文件损坏了吗?有什么我可以解决这个问题吗?

我确实有一个备份,但宁愿不使用它,除非绝对必要,因为它是一个旧的,我不想重做我最近的工作。

谢谢...

+4

附注:为防止将来发生丢失或损坏的文件恐慌,我想建议使用源代码管理系统......此外,您将能够区分文件以查看更改内容甚至当它改变时。 – 2009-09-10 18:24:36

+0

@Frank ...我的组织目前正在实施Team Foundation Server,所以这将不会成为未来的问题。如果只是昨天完成......! – Sesame 2009-09-10 20:02:40

看看this page,列出出现这种情况的一些原因,防止它的方法以及如何恢复。

你会想看看你做了什么。确保文件名在整个电路板上相匹配,并且您不会意外重新命名任何单个文件。

还要确保类名在整个电路板上匹配,3个文件之间。

重新启动Visual Studio过去曾在很多情况下为我工作过。确保关闭所有副本并在任务管理器中检查正在运行的进程列表,以确保没有任何副本运行不知道。在任何情况下重新启动都无济于事(如果你真的有损坏的文件),但它对我来说很有用。

请尝试以下步骤:

  • 关闭所有的源代码窗口。
  • 做一个干净的所有。
  • 退出DevStudio。
  • 启动DevStudio。
  • 打开您的解决方案(如果它不自动加载)
  • 构建您的解决方案。
  • 在设计器中打开您的面板。

上次我看到这个,我没有我的分部类窗体作为代码隐藏的第一件事。

namespace WinForms{ 
    public partial class MyForm : Form{ 
    } 
} 

就像

namespace WinForms{ 
    public class SomeClass{ 
     //some code.. 
    } 

    public partial class MyForm : Form { } 
} 

我有同样的问题......我打开了designer.cs文件,发现我的主窗体的代码是比以前的备份短了不少。

我将备份中的代码(10天之前...)复制到我的程序中,并在几分钟内恢复了我的大部分功能。再过5分钟,我就是在错误发生之前的地方。

然后,我支持了所有事情 - 为代码之神点燃了一支蜡烛,并祈祷 - “今天就给我们提供我们健康的代码......”我希望他在倾听。