为防止Windows窗体c#中可能丢失数据

时间:2013-11-12 14:34:37

标签: c# exception

如果我在Windows窗体中单击 Form1.cs ,我将获得以下异常,

  

为了防止在加载设计器之前可能的数据丢失,   必须解决以下错误:

     

加载此程序集会产生与其他程序集不同的授权集   实例。(HRESULT 0x80131401的异常)

     

找不到类型'Gizmox.WebGUI.Forms.Form'。请确保   引用包含此类型的程序集。如果这种类型是   作为开发项目的一部分,确保项目已经完成   使用当前平台或Any的设置成功构建   CPU。

调用堆栈:

  

在   System.ComponentModel.Design.Serialization.CodeDomSerializerBase.Error(IDesignerSerializationManager   manager,String exceptionText,String helpLink)at   System.ComponentModel.Design.Serialization.TypeCodeDomSerializer.Deserialize(IDesignerSerializationManager   经理,CodeTypeDeclaration declaration)   System.ComponentModel.Design.Serialization.CodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager   经理)   Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager   serializationManager)at   Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.DeferredLoadHandler.Microsoft.VisualStudio.TextManager.Interop.IVsTextBufferDataEvents.OnLoadCompleted(的Int32   fReload)

非常感谢任何帮助。

感谢。

3 个答案:

答案 0 :(得分:0)

这是你的问题,你的第三方组件:

'Gizmox.WebGUI.Forms.Form'

卸载并重新安装。 无论如何,这个组成部分是罪魁祸首

答案 1 :(得分:0)

出现此错误:...适用于您当前的平台或任何CPU。

您的项目和Gizmox.WebGUI项目库可能已使用不同的平台设置,x86,任何CPU,混合平台或x64进行编译。

无论是什么,都要确保所有项目都具有相同的平台设置。点击菜单:构建> Configuration Manager并将all设置为同一平台。如果Gizmo已经编译并仅作为参考,那么找到它构建的平台。

编译所有,关闭设计师并再次打开。

答案 2 :(得分:0)

由于OP并不担心这一点,我将为所有的google提供修复。

从我的代码中删除这样的内容后,我主要遇到了这个错误:

private void button1_Click(object sender, EventArgs e){
...}

它会变得疯狂,因为在 Form1.Designer.cs 中它会有这样的东西:

this.button1.Click += new System.EventHandler(this.button1_Click);

修复此错误(至少在我遇到它时)所需要的是从Form1.Designer.cs中删除该行