2012-04-23 63 views
0

我有一個寫在.NET 1.1中的ld應用程序,我嘗試升級到.NET 3.5。 VsStudio轉換都很好,升級後我可以運行應用程序沒有任何問題。但是,由於字體是另一種,文本不適合控件。 這就是我的麻煩開始的地方,因爲只要我改變任何東西,無論是控件的大小還是任何字體的大小,在構建設計器停止使用該表單後隱藏它並顯示錯誤:升級錯誤.net 1 winforms應用程序

at System.ComponentModel.ReflectPropertyDescriptor.SetValue(Object component, Object  value) 
at Microsoft.VisualStudio.Shell.Design.VsTargetFrameworkPropertyDescriptor.SetValue(Object component, Object value) 
at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializePropertyAssignStatement(IDesignerSerializationManager manager, CodeAssignStatement statement, CodePropertyReferenceExpression propertyReferenceEx, Boolean reportError) 
at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeAssignStatement(IDesignerSerializationManager manager, CodeAssignStatement statement) 
at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeStatement(IDesignerSerializationManager manager, CodeStatement statement) 

然後,當我嘗試運行該應用程序時,它將不會加載這些表單,我只會收到一個錯誤。 我對.NET並不是那麼舒服,所以任何關於可能是錯誤的提示都會有幫助,謝謝和問候!

+0

您是否能夠提供出現該錯誤的消息?如果通過打開異常的Visual Studio調試器來執行此操作,是否會在發生此異常時得到有關正在設置哪個屬性的指示?某個屬性的「設置」部分發生了某些情況,您需要提供一些代碼以便任何人協助調試。 – roken 2012-04-23 23:09:49

+0

嗨,謝謝,它只是一個普通的「未處理的異常」msgbox。看起來並不重要,表單上的哪個屬性正在設置。這一切都可以工作,直到我改變了一些東西,然後設計師崩潰,它不會運行。我想知道某個文件是否可以被寫保護,儘管我將它從頂層文件夾中刪除了 – elwis 2012-04-24 05:16:12

+0

這是一個堆棧跟蹤,而不是一個錯誤。 – leppie 2012-04-24 06:59:31

回答

0

當我在某些屬性上設置「DesignerSerializationVisibility」屬性時,它似乎工作。這可以防止設計器崩潰,並且我能夠構建並運行我的應用程序

+0

這是一個繃帶,沒有解決真正的問題 – roken 2012-04-26 18:35:31

+0

有趣的點 – elwis 2012-04-27 15:35:05

+0

利用屬性阻止設計器訪問屬性,從而避免了錯誤,但是我擔心在運行時訪問屬性可能會導致相同的錯誤。此外,您可能會丟失設置的持久性,否則這些設置將被寫入設計師生成的文件 – roken 2012-04-27 15:55:48

0

在Framework 1.0中的resx文件中,空值使用< value />呈現,並且從2.0前進變爲<值> </value>。 在更改設計器之前編輯resx從<值/>到<值> </value>,並且它可以工作。

+0

謝謝你的回答,很抱歉,我不是全都跟你在一起嗎?我應該手動編輯resx文件並更改一些值嗎? – elwis 2012-04-24 07:50:48

+0

我有同樣的問題,解決方案是手動編輯文件。 – ctescu 2012-04-24 08:10:56

+0

好的,你把「使用」改成了? – elwis 2012-04-24 08:30:03

相關問題