这个问题较少出现,但是出现了真正会让你崩溃。
现象是这样的:
早上这个工程打开还好好的,但是到了中午吃了个饭,下午重新打开它,发现VS会失去响应,然后进行重启,然后继续失去响应。
你无法继续编辑这个工程! 连修改的机会都没有!!
对于那些习惯于一天才做一次备份的童鞋来说,这真是毁灭性的打击,因为一天的工作白搞了!你得从昨天的备份重新开始。
也许你想试着研究一下昨天的备份与今天的工程究竟有什么不一样,勇哥想说的是,还是算了吧,这样搞的话你会发现又要加班了。
勇哥直接给出答案,不说废话。
问题可能的原因:
你的某个Form被加入了某个控件,造成界面编辑器崩溃。
通常出现这个问题的时候,你在编辑的时候还好好的,但是下次载入的时候,界面编辑器崩溃。
另外,由于VS每次打工开程时,默认会重新打开上次编辑过的页面,当然也包括你打开的这个有问题的Form界面,于是才出现了本文开头描述的悲壮的一幕。
勇哥说的你加入了某个控件,绝不是提系统带的那些控件,那些都是微软爸爸验证过的,不会有问题的。
特指你自己搞出来的自定义控件,往往这种自定义控件内部还引入了别一个自定义控件,或者另一个第三方DLL调用,它们中间的每一个都存在隔屁的风险。
没经验的童鞋,都不会知道,对于界面类型的自定义控件,最好让其构造函数为没有参数的,这样可以大大降低下面的情况:
界面编辑器崩溃
自定义控件无显示
无法往其它的界面上拖放自定义控件
其它古怪的问题
虽然VS号称宇宙最强的集成开发环境,但是,其代码编辑器面对上面这些有问题的用户自定义控件,还是会感觉压力很大,情绪失控也是很正常的事。
对于自定义控件的各种问题,完全可以再开一个贴子再讨论了。
下面勇哥说说解决办法:
首先,你得知道,你的VS崩溃究竟是因为哪个form窗体被打开的时候造成VS崩溃?
如果你连这个也不知道,那拜托你回忆一下今天对那个窗体添加过什么控件没有?后面就靠试了。
假设你确定了是因为打开了下图这个Form的时候VS崩溃了,那么,你打开下面的那个界面编辑文件(划线)的那个。
然后尝试着注释掉可疑的被添加进去的控件。
通常,这个界面设计的CS文件打开后其代码是最后面那张图那样的。
这些代码是VS自动生成的代码,这里面都是些界面上控件的定义、属性设定等代码。
这个下面的部分就是界面上全部控件的定义部分,找到你认为可疑的注释掉,然后编译一下,注释掉出错的语句(都是与这个控件有关的代码)。
重复这样做下去,最终确定是那个老鼠屎害了你。
按勇哥这个搞法,相信你很快的能确定出问题,祝你好运!
---------------------
作者:hackpig
来源:www.skcircle.com
版权声明:本文为博主原创文章,转载请附上博文链接!