We faced the very same problem, and solved it.
This is happening also if there is no other Visual Studio installed than 2005. The root cause is that some mspdb*.* files are not correctly updated, when Studio Service Packs or Updates are installed.
Solution:
- Make sure that you have installed and running TeamCity as a user, and not from SYSTEM account.
- Make sure you have installed VS80 hotfix KB920770. This may not be necessary, but who knows.
- Reboot your build machine, make sure that no build is started by TeamCity, as sometimes the executables are locked if a build is started.
- Search for mspdb*.* files - in every and each folder of your machine.
- You should find mspdb80.dll, mspdbcore.dll, mspdbsrv.exe on your machine as several incompatible versions.
- The files residing in "c:WINCE600SDKBINI386" will be the problematic ones (these are too old, not updated correctly).
- The files in "c:Program FilesMicrosoft Visual Studio 8Common7IDE" should be the newer ones.
- Rename the three older files in WINCE600 to some name (e.g. xxx_mspdb80.dll)
- Copy the newer files from Common7IDE folder to c:WINCE600SDKBINI386
- Restart your machine.
- Try a new build with TeamCity. This helped us.
程序数据库管理器不匹配;请检查安装
创建程序数据库文件 (.pdb) 时所使用的 mspdbXX.dll 版本比编译器在您的系统上发现的版本新。 此错误通常表示缺少 mspdbsrv.exe 或 mspdbcore.dll,或者它们的版本与 mspdbXX.dll 不同。 (mspdbXX.dll 文件名中的 XX 占位符会随着每个产品发行版本而更改。 例如,在 Visual Studio 2005 中,该文件名是 mspdb80.dll。
请确保系统上安装的 mspdbsrv.exe、mspdbcore.dll 和 mspdbXX.dll 的版本相匹配。 请确保未将不匹配的版本复制到包含适用于目标平台的编译器和链接工具的目录下。 例如,您可能已经复制这些文件,以便可以在命令提示处激活编译器或链接工具,而不需要相应地设置PATH 环境变量。
mspdbsrv.exe, mspdbcore.dll, and mspdb80.dll are installed on your system.
我是前两天往VC2005安装路径Microsoft Visual Studio 8VCin里放了个mspdb80.dll,是从common7 中找到并粘贴过去的,因为想用bin目录下的dumpbin程序,今天一运行也出现了楼主的问题,在网上查一下,把那个dll删除就好了。
参考的网页:http://www.cnblogs.com/flyingfish/archive/2007/03/16/677605.html
个人理解楼上可能是说如果在bin目录中有上述文件删掉就OK了~~
相信这么长时间楼主早就解决问题了,呵呵~~
用VC2010也遇到了这个问题,看了2楼的贴子,原来在拷mspdb#.dll的同时拷mspdbsrv.exe即可。
重装了本本上的Xp系统,如往常一样,升级,装杀毒软件,开发工具。一些进行的非常顺利。然而,在我打开VS2008准备耕作的时候,尽然出现了一邪恶的错误提示:vs2008编译错误fatal error C1902: 程序数据库管理器不匹配;请检查安装解决。进过多家的方法,均无效,重装VS也不行,最后终于百度到一无名大侠的解决方案,问题解决了,在这里记录下来,以备再有不测。
到C:/Program Files/Microsoft Visual Studio 9.0/Common7/IDE下面拷贝mspdbsrv.exe到C:/Program Files/Microsoft Visual Studio 9.0/VC/bin下面,重启VS即可。
问题的原因我还不清楚,也学是DLL版本混乱的问题...
不知道怎么搞的,出了这么个错误。
正在编译资源...
正在编译资源清单...
正在链接...
LINK : fatal error LNK1101: MSPDB80.DLL 的版本不正确;请再次检查此产品的安装
google 看不出来怎么解决。别说是中文版的事,英文版我也有。看:
hgeGUIMenuItem.cpp
GuiGameState.cpp
game.cpp
BasicGameState.cpp
Generating Code...
Linking...
LINK : fatal error LNK1101: incorrect MSPDB80.DLL version; recheck installation of this product
大家帮我搜搜,说说解决方法。
因为VCBin下没有“msobj80.dll,mspdb80.dll,mspdbcore.dll,mspdbsrv.exe”这四个文件,解决的方法:
1>直接从Common7IDE下复制这四个文件到VCBin下即可解决
2> 添加系统变量(Path),这样:我的电脑->属性->高级->环境变量->系统变量,在path中添加C:Program FilesMicrosoft Visual Studio 8Common7IDE;,注意结尾最后用“;”隔开!
这样在用cl编译就不会出现mspdb80.dll文件找不到的错误了。