所以我有一个项目位于另一个目录中,我将其复制并移动到另一个目录中,以便将其转储到之前运行早期版本代码的本地 git 存储库中(我知道为什么我要很好地复制这些内容)这是一个很长的故事并且无关紧要)。在尝试在 Visual Studios 2019 中构建项目后,我在构建过程中收到以下错误。
Severity Code Description Project File Line Suppression State
Error C1090 PDB API call failed, error code '3': C:\Users\chad.lahue\AppData\Local\Programs\Git\TOC\project\TOC\Debug_sim\vc142.pdb TOC C:\Users\chad.lahue\AppData\Local\Programs\Git\TOC\project\TOC\TOC.cpp 1
so after looking up what causes this issue and trying the reboot sugestion to no avail or killing a second msbuild.exe process I have noticed in the task menu that about halfway through the build a second msbuild.exe comes up when building this project and does not on any project that builds successfully
![enter image description here](https://i.stack.imgur.com/0MC89.png)
而且,据我从原始目录中看到的代码和项目设置是相同的,它是从中复制的,仍然可以正常构建。
我的问题是:1 这是代码问题/项目设置问题还是存在某种目录或计算机故障?
:2 有其他人经历过这种类型的编译器错误,并且必须以比通常建议的这种错误更复杂的方式解决它。重新启动计算机或杀死第二个 msbuild.exe ?更好的是,有没有人曾经有过一个项目,在构建过程中生成 2 个 msbuild.exe,导致它失败,就像它在这里出现的那样?
对于其他遇到此问题的人,尽管更新了他们的 vs,就像我所做的以下项目设置为我解决了问题一样,我还在另一个开始遇到相同问题的项目上尝试了 /FS 解决方案
对于遇到 vc142.pdb 问题的用户,请尝试将“配置属性->C/C++->输出文件->程序数据库文件名”设置为“$(TEMP)vc$(PlatformToolsetVersion).pdb”
通过将“配置属性->链接器->调试器->生成程序数据库文件”设置为“$(TEMP)$(TargetName).pdb”,它也可以适用于其他 pdb。
我最好的猜测是由于并行编译,文件被 mspdbsrv.exe 锁定。