我很清楚发生了什么,只是不知道如何解决。我们正在使用 TeamCity 6.5 通过命令行脚本构建平台构建器 6.0 项目。我们遇到的问题是安装了多个 Visual Studio 。
Team City 似乎不知道在其路径中使用哪个 Visual Studio。
LINK : fatal error LNK1101: incorrect MSPDB80.DLL version; recheck installation of this product
我认为正在发生的事情是它启动了 Visual Studio 2010 而不是 2005 的 mspdbsrv.exe,并且在 sysgen 期间失败。奇怪的是,这个问题只存在于从 team city 运行时,如果我们从命令提示符手动调用 .bat 文件,它就可以正常工作。因此,我们生成并运行的 SetEnv.bat 可能会设置一个环境,但同样,TeamCity 不会获取新的环境变量或其他内容。
任何帮助都会很棒! 谢谢
最佳答案
我们遇到了同样的问题,并解决了它。
如果没有安装 2005 以外的其他 Visual Studio,也会发生这种情况。 根本原因是安装 Studio Service Pack 或更新时,某些 mspdb*.* 文件未正确更新。
解决方案:
- 确保您已以用户身份(而不是通过 SYSTEM 帐户)安装并运行 TeamCity。
- 确保您已安装 VS80 修补程序 KB920770。这可能没有必要,但谁知道呢。
- 重新启动构建计算机,确保 TeamCity 不会启动任何构建,因为有时启动构建后可执行文件会被锁定。
- 在计算机的每个文件夹中搜索 mspdb*.* 文件。
- 您应该会在您的计算机上发现 mspdb80.dll、mspdbcore.dll、mspdbsrv.exe 有几个不兼容的版本。
- 驻留在“c:\WINCE600\SDK\BIN\I386\”中的文件将是有问题的文件(这些文件太旧,未正确更新)。
- “c:\Program Files\Microsoft Visual Studio 8\Common7\IDE”中的文件应该是较新的文件。
- 将WINCE600中的三个旧文件重命名为某个名称(例如xxx_mspdb80.dll)
- 将较新的文件从 Common7\IDE 文件夹复制到 c:\WINCE600\SDK\BIN\I386
- 重新启动您的机器。
- 尝试使用 TeamCity 进行新构建。这对我们很有帮助。
关于使用 PlatformBuilder 6.0 的 TeamCity 与 mspdb80.dll 的链接问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11550631/