文件已损坏?

时间:2009-09-10 17:59:11

标签: c# visual-studio winforms corruption windows-forms-designer

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

我进入MainForm看看问题是什么,并且对我看到的内容感到震惊......我的所有控件都已经消失了。起初我惊慌失措,但当我进入MainForm.Designer.cs文件并看到控件的所有代码仍然存在时,我们有了一点希望。

因此,Designer文件似乎很好,但设计视图不显示任何控件。

之前有没有发生过这种情况?我的档案是否已损坏?我能做些什么来解决这个问题吗?

我确实有备份,但除非绝对必要,否则我不想使用它,因为它只有一天,而且我不想重做我最近的工作。

...谢谢

6 个答案:

答案 0 :(得分:1)

查看this page,列出可能发生这种情况的一些原因,预防方法以及如何恢复。

答案 1 :(得分:1)

我遇到了同样的问题......我打开了designer.cs文件,发现我的主表单代码比以前的备份要短得多。

我将备份中的代码(10天之久......)复制到我的程序中,我在几分钟内恢复了大部分功能。又过了5分钟,我就错了之前就在那里。

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

答案 2 :(得分:0)

你会想看看你做了什么。确保文件名全面匹配,并且您无法意外地重命名任何单个文件。

还要确保类名在3个文件之间全面匹配。

答案 3 :(得分:0)

过去,重启Visual Studio在很多情况下都有用。确保关闭所有副本并检查任务管理器中正在运行的进程列表,以确保没有任何运行的副本您不知道。重启不会对每种情况都有帮助(如果你真的有一个损坏的文件),但它对我来说很有用。

答案 4 :(得分:0)

尝试以下步骤:

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

答案 5 :(得分:0)

我最后一次看到这个,我没有将我的部分类Form作为代码隐藏中的第一个。

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

就像

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

    public partial class MyForm : Form { } 
}