天堂的狼

更好的生活,来自不懈的努力与拼搏,不要仅仅看中结果,拼搏的过程同样是精彩的!

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: :: 管理 ::
加载设计器时遇到一个或多个错误。这些错误在下面列出。一些错误可通过重新生成项目来修复,而另一些错误则需要更改代码。

类型“SheHeiE.ClassData.FillingAreaObj”的对象无法转换为类型“SheHeiE.ClassData.FillingAreaObj”。

隐藏    

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

前几天遇到的一个错误,很是郁闷,当时客户很急,但自己就是不能打开设计页面,每次打开就报上面错误。
仔细核对下类型没有问题啊,而且都引用同一个工程,所以链接库应该也是同一个。网上搜搜,没找到有效解决方式。再仔细研究下这个错误吧,为什么说“一些错误可通过重新生成项目来修复”呢。于是,清理解决方案,重新生成解决方案,再次打开,问题依旧。
是不是生成顺序问题?调整一下项目生成顺序,没发现什么问题(如果有问题早报啦),检查一下引用,也正常.
异常中有序列化部分,是不是对象序列化出问题啦?将上面提到的对象加上序列化。问题依旧。
唉,莫非没有办法啦,于是从新回到起点。又建了一个窗体,将其他控件逐个拖入到新窗体中,没有问题啊,真是怪了。
烦恼之余,看看系统内存等使用情况,顺便将工程关掉。再次打开工程,发现久违的窗体显示出来啦。。。。。。
什么原因呢?具体还不清楚,莫非是vs2005的bug吧。也许是将工程重新打开,工程才会真正的从新编译一次。而提供的重新生成解决方案,有些东东也是使用缓存内容吧。

总结:工程关掉,重新打开,问题解决。
posted on 2009-07-30 15:08  天堂的狼  阅读(3578)  评论(1编辑  收藏  举报