VS2008的2个BUG及其解决办法
和所有coder同行一样,对“微软”有着发自内心的崇拜和向往。但是,偶然发现了MS的力作VS2008的2个BUG,多少有些意外,还有些惊喜(没错,惊喜,哈哈……)。写进blog里面,以作备忘。
1. 问题现象
1.1. 问题摘要
C1902: Program database manager mismatch; please check your installation.
1.2. 重现步骤
1. 新建空的工程;
2. 给工程填入代码;
3. 编译工程;
4. VS编译器报错C1902.
2. 问题解决
原以为是工程配置或代码的问题,又是rebuild,又是删除pdb、ncb文件,又是重新创建工程…折腾了老半天,都没奏效!只好Google……说是让删除mspdb80.dll,再重新编译。试了试,居然真奏效了!原来是VS本身的问题!!微软也不是万能的!!!
注意
1. 删除mspdb80.dll,再重新编译成功之后,把mspdb80.dll回复回去,编译也能通过;
2. C1902错误并不是每次都会出现。
3. 问题原因
其实,VS2008的…/VC/bin目录下,原本并没有mspdb80.dll这个文件。(从文件里的80就可以看出它是属于VS2005的)。是之前为了解决dumpbin报错(如下图所示),手工从vs2005下拷过来的。
VS2008 dumpbin报丢失mspdb80.dll错误