精通
英语
和
开源
,
擅长
开发
与
培训
,
胸怀四海
第一信赖
锐英源精品开源心得,禁止转载,锐英源:www.wisestudy.cn,孙老师作品,联系电话13803810136。
近期完善一个C#大项目,用VS2010打开项目后,再打开主窗体的设计界面,总是报“XX属性代码生成失败 未将对象引用设置到对象的实例”,每次编译时会弹出提示,保存文件时也会提示,严重影响工作效率。并且双击菜单也跳转不到代码上,需要找菜单名称,再从代码窗口里查找定位。我根据提示的属性名称找了找,也没见代码有问题。从网上找到一个线索是说,清理解决方案,也不行。发展到后来,有一次把VS关闭后,再打开,窗体上的一个主要控件的初始化代码没有了,在设计界面看不到这个控件,这个控件也不可以直接从工具栏拖动生成,这下遇到了大麻烦。 。
用备份版本里的初始化代码移植过来,加到出问题项目代码里,解决了问题。
在xx.designer.cs的 private void InitializeComponent() 函数里把备份代码添加到成员属性设置区,原来有多少就移植多少行代码。通过查找成员名称可以确定移植范围
这个项目是大项目,解决方案里有多个项目,主项目依赖了很多子项目。再加上窗体里子窗体多,关系复杂,类型复杂,还有用户定制控件,panel嵌套层次深,designer.cs里还有不可视自定义属性,所以VS管理混乱,源代码和临时变量里记录的状态不对应,导致混乱。
这里再打醒程序员们,注意备份代码,有些问题是不可能运行时解决的。