2009-09-10 231 views
0

我有一個表單,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

回答

1

看看this page,列出出現這種情況的一些原因,防止它的方法以及如何恢復。

0

你會想看看你做了什麼。確保文件名在整個電路板上相匹配,並且您不會意外重新命名任何單個文件。

還要確保類名在整個電路板上匹配,3個文件之間。

0

重新啓動Visual Studio過去曾在很多情況下爲我工作過。確保關閉所有副本並在任務管理器中檢查正在運行的進程列表,以確保沒有任何副本運行不知道。在任何情況下重新啓動都無濟於事(如果你真的有損壞的文件),但它對我來說很有用。

0

請嘗試以下步驟:

  • 關閉所有的源代碼窗口。
  • 做一個乾淨的所有。
  • 退出DevStudio。
  • 啓動DevStudio。
  • 打開您的解決方案(如果它不自動加載)
  • 構建您的解決方案。
  • 在設計器中打開您的面板。
0

上次我看到這個,我沒有我的分部類窗體作爲代碼隱藏的第一件事。

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

就像

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

    public partial class MyForm : Form { } 
} 
1

我有同樣的問題......我打開了designer.cs文件,發現我的主窗體的代碼是比以前的備份短了不少。

我將備份中的代碼(10天之前...)複製到我的程序中,並在幾分鐘內恢復了我的大部分功能。再過5分鐘,我就是在錯誤發生之前的地方。

然後,我支持了所有事情 - 爲代碼之神點燃了一支蠟燭,並祈禱 - 「今天就給我們提供我們健康的代碼......」我希望他在傾聽。