2010-09-03 59 views
0

我們最近從VS2008升級到VS2010。我們的vb.net Windows Forms應用程序的轉換進行得很順利,但我們現在遇到了表單設計師的大問題。在VS2010中破解的Windows窗體設計器?

幾乎任何對錶單佈局的改變(有時候只是一個解決方案重建)都會工作一次,但在重新編譯時,IDE設計者拒絕顯示錶單,錯誤信息是空引用異常(沒有細節是什麼)。

關閉並重新啓動VS2010可以解決這個問題,但僅限於一個編譯週期 - 並且每次關閉並重新打開顯然不切實際。關閉並重新打開表單不能解決問題。

如果在窗體的加載事件中出現了錯誤,或者由於隨機原因導致出現錯誤,我們之前偶爾會遇到這些錯誤,但是從VS2008 SP1開始,這從來都不是嚴重的問題。

而現在用VS2010,現在是表,編譯。

這是完全不可行的,我們必須恢復到VS2008的winforms開發。

任何建議,將不勝感激..

回答

3

可以調試設計模式:

  • 在項目屬性,在調試器選項卡,設置可執行文件的名稱devenv.exe
  • 運行/調試項目:這將啓動Visual Studio中的第二個副本
  • 使用2號(正在調試)複製Visual Studio中設計模式打開表單

您可以找到更詳細的信息'網絡,通過谷歌搜索'調試設計模式'。

+0

那麼我的問題已經消失了,但我不知道爲什麼......我按照你的建議繼續,並且我在設計模式中打開了窗體,期望它打破 - 但並沒有。我嘗試了一些之前打破過的形式 - 沒有什麼不愉快的。所以我關閉了所有東西,並在普通的單一IDE中再次打開解決方案。 Presto - 沒有更多的問題。所以我似乎被排序(着名的遺言!!),但我不知道爲什麼。無論如何,感謝您的建議。 – ChrisA 2010-09-05 13:39:09

1

是您的項目目標爲.Net Framework 4 Client Profile.Net Framework 4

如果您不是故意定位到.Net Framework 4 Client Profile,那麼將其更改爲.Net Framework 4您有足夠的機會。

如果這沒有幫助。正如ChrisW所說,請按照上述步驟進行操作。這是最後的選擇。

+0

感謝這..可悲的是Framework 4還不是我們的選擇,因爲我們需要讓所有的客戶升級他們的電腦。許多用戶沒有安裝權限,所以這不是一個微不足道的操作,寫信給所有IT部門,要求他們升級客戶端,等待他們全部升級等等。 – ChrisA 2010-09-05 08:08:57

1

我們面臨同樣的問題。原因在於,句柄語句不是根據控件名稱轉換成 ,而是以大寫字母。

但是,控件本身仍以原始正確的名稱在小寫 或混合。他們在designer.vb代碼中也是這樣做的。 您必須糾正.vb代碼中的alle手柄,以匹配相同表單的designer.vb代碼 中的名稱。

(快速)解決方法如下。 a)加載有缺陷的項目。 b)嘗試打開表格 c)按F7打開代碼 d)將所有手柄替換爲'手柄(搜索和替換,它只能通過這種方式工作) e)開始構建 f)替換g)現在表單應該打開

不幸的是,這種方式只能通過VS2010'chockes'的形式來形成,一次加載太多的表單。

對於使用此建議最終損壞代碼的功能,我們不承擔任何責任!