2012-01-03 54 views
0

調用時,建立和/或重建在WinForm的移動和重新排列控件後的所有命令出現以下錯誤消息:消失的Windows控件VS2010

「時發生錯誤,此命令的處理未能加載文件 或程序集'LoLock,Version = 1.0.0.0,Culture = neutral, PublicKeyToken = null'或它的一個依賴項。系統不能 找到指定的文件。

那時所有的控件都從設計器中消失並形成執行表單。我搜索了設計器的cs文件,並運行diffs對以前的工作版本,並找不到任何不妥之處。

這件事發生在我身上好幾次,似乎是隨機的。

任何線索?

+1

什麼是LoLock?這是一個提供應用程序使用的控件的外部程序集嗎? – 2012-01-03 06:54:47

回答

2

我遇到了同樣的問題......完全一樣的錯誤,隨後大多數控件消失。設計器中缺少的控件是我的自定義控件。我在錯誤和失蹤之前所做的更改是爲每個控件派生類(即我的控件的一部分)添加一個構造函數。到目前爲止,我已經注意到Control.Add(...)對於已經消失的數百個控件(從自動生成的Form.designer.cs文件)中的每一個都缺少。如果您在前期和後期失敗之間的designer.cs文件上運行diff,這似乎與您的情況有所不同。我的確沒有添加()s。

到目前爲止,我的解決方案是手動將Add()方法添加回生成的文件。但是,如果有一些方法讓Visual Studio看到這個問題並自動添加控件,這顯然會有所幫助。然而,我想不出任何VS能夠知道的方法,在這一點上,哪些控件可以添加到哪個父控件中。

例如,錯誤之前我在我的designer.cs文件中定義的以下組中:

 // 
    // groupBox10 
    // 
    this.groupBox10.Controls.Add(this.checkBox_FincaDescription_ForRent); 
    this.groupBox10.Controls.Add(this.checkBox_FincaDescription_ForSale); 
    this.groupBox10.Location = new System.Drawing.Point(883, 67); 
    this.groupBox10.Name = "groupBox10"; 
    this.groupBox10.Size = new System.Drawing.Size(310, 76); 
    this.groupBox10.TabIndex = 9; 
    this.groupBox10.TabStop = false; 
    this.groupBox10.Text = "Property Type"; 

的FAIL我有將其如任一錯誤或的結果而產生下面的代碼後簡單的設計失敗來管理我的自定義控件:

 // 
    // groupBox10 
    // 
    this.groupBox10.Location = new System.Drawing.Point(883, 67); 
    this.groupBox10.Name = "groupBox10"; 
    this.groupBox10.Size = new System.Drawing.Size(310, 76); 
    this.groupBox10.TabIndex = 9; 
    this.groupBox10.TabStop = false; 
    this.groupBox10.Text = "Property Type"; 

這對我來說是一個巨大的失敗,因爲我有這麼多的領域手動正確的(雖然幸運的是隻有幾組框和一個良好的備份)。我從2005年以來就讀到過這麼多人有這個問題,我不敢相信這個問題沒有得到解決。

+0

我剛剛經歷了使用Visual Studio 2012的同一個問題。你說得對:這是一個巨大的失敗...... – Chris 2014-02-11 18:42:32

0

我也經歷過用戶控制。

我收到了每個控件的設計器中刪除了Add方法的異常。

令人驚訝的是,我有幾個面板,並且這些面板的子代碼的添加代碼仍然保持完整。

我只需要爲那些不在容器中的面板和一些控件實施添加,這是幸運的,因爲有超過100個控件。

在用戶控件的構造函數中引入了一個錯誤,我相信這導致了導致設計文件損壞的事件鏈。