debug : 解决vs2008工程右击不能正常显示工程属性页

故障环境: Win7X64 + vs2008sp1

故障现象: 在vs2008中打开一个已经存在的工程, 右击工程, 选择最下面的"属性", 弹出工程属性页时, 报错, "can't create dotnet property grid", 当时没发邮件自己, 只记得这么多~.

解决措施: 在vs2008命令行运行 devenv /resetskippkgs

故障解决的过程: 

来公司就重装了几次OS, 现在的Win7X64用了将近7个月了,

最近在做一个组件时, 发现奇怪的现象, 同样从svn上迁出的工程, 我编译出的组件和同事编译出的组件, 运行效果不同. 我编译出的运行有bug~

生气了, 卸了重装vs2008.

开发机上装的软件杂, office2003, office2007, vs2003, vs2005, vs2008, vs插件(AnkhSVN, Visual Assist X,  已经忘记名字的几个UML插件). 卸的时候, 使用360卸的, 卸完了, 还使用360卸载垃圾的操作. 

开发机上一堆的M$组件不见了, 重装后, 计算机上只有一个vs2008sp1 + msdn. 

刚装完, 有提示某插件包装载失败, 我倒不是很在意.又不影响我工作~

最近都是在测试, 重构, 修正, 优化组件代码,  有问题发生时, 都是采用Release版 + 工程内建的调试日志搞定.

但是今天快下班时, 一个测试同事让我去解决我负责组件出现的一个BUG, 这时已经快下班了...

我用调试日志, 很快定位问题:一个XML配置文件读的有问题, 有9个XML子节点, 由于配置文件有问题, 导致读了6个节点后, 没有找到合格的节点, 退出了. 没有加载的3个节点内容,就是测试同事说的组件失效的原因.

我当然可以用调试日志继续定位, 但是那样会非常消耗时间. 每个XML节点不符合要求返回的点有几十个.而且我日志填的不全, 会不停的更新版本, 更换文件还要重新启动计算机. 预期要几个小时, 要是那样, 我就不用睡觉了~

我想采用的方法是将DLL工程转成exe, 直接去单步XML配置文件的读过程, 应该就是分分钟的事情.

我就去工程属性中改编译配置, OMG, 出现vs2008属性页不能正常显示的故障, 狂晕.


因为提示和DotNet有关, 我将E文提示Google了一把,  有的贴说要将DotNet重装, 我查到vs2008配的是DotNet3.5. 从vs2008安装光盘上找到DotNet安装程序.

装不上...


又去查,  有贴说: 从DotNet2.0 >> DotNet2.5 >> DotNet3.5 一路从低版装到高版本, 就能解决. 我从vs2005安装光盘中找到DotNet安装程序, 看到是2.0版. 双击没反映...


再去google出错提示的信息, 从 http://zhang-jh04.blog.163.com/blog/static/974871722009731233124/ 看到了解决方法.

在vs2008命令行中运行 : devenv /resetskippkgs, 重启vs2008, 会提示是否禁止失败的插件继续加载, 选'yes'. 打开工程后, 可以正常显示修改工程配置.

窃喜~


果真如我预期, 10分钟后, 问题找到. 读XML的时候, 有判断这个XML节点是否合格. 当然是不合格..., 因为这个svn分支是测试发布版分支, 我开发时是开发分支. 我要是没测试过, 能提交么~ 用BC3比较2个分支相同组件的主工程目录, 全部一样. 再比较我找到的这个判断所在的工具类目录, 发现我在开发分支, 已经修正过这个问题.
是负责合并的同事没有合并这个工具类目录. 我也很理解, 工程很多, 几十个工程,  合并时, 哪能保证每次都分毫不差呢. 特别是合并同事负责维护的工程.


又用google搜索 "devenv /resetskippkgs", 看到的故障现象很少雷同的~, 而且vs2005, vs2008, vs2010都会出现故障, 同样的解决方法, 故障现象却很多. 我倒~~

看来 devenv /resetskippkgs能解决VSIDE的很多使用问题.








你可能感兴趣的:(debug : 解决vs2008工程右击不能正常显示工程属性页)