【发布时间】:2019-05-18 17:28:13
【问题描述】:
在 TFS 构建服务器上构建复杂项目时出现错误。我能够通过更简单的设置重现错误,我将在此处使用它来描述问题。由于年代久远和复杂,该项目仍然使用 Visual Studio 2010 的构建工具。
我有一个包含两个解决方案的存储库:WindowsProject1 和 WindowsProject2,它们都是 MFC 应用程序。 我还将项目 WindowsProjectTools 添加到两个解决方案中,因为两个解决方案中的主项目都引用了该 dll。
第一个构建步骤 (WindowsProject1) 成功,但第二个构建步骤 (WindowsProject2) 失败并出现以下错误:
Error C1090: PDB API call failed, error code '23' : '(
网络上有一些关于这个错误的问题,但从来没有一个令人满意的解决方案。
我怀疑在两个构建步骤中构建 WindowsProjectTools 会由于某种原因发生冲突,可能中间文件夹相交,所以我将其更改为 $(SolutionDir)$(Configuration)\ 但没有帮助。
但是,更改构建步骤顺序有助于构建 WindowsProject2 成功,但 WindowsProject1 失败。这让我相信解决方案和项目文件是有序的,但是我缺少 TFS 中的一些设置。
我也尝试将 MSBuild 版本从最新更改为 4.0(与 VS2010 关联的版本),但没有成功。
迁移到较新的 vs 版本是显而易见的一步。但是,迁移整个项目需要大量资源。我现在想避免这一步。
【问题讨论】:
标签: visual-studio-2010 tfs msbuild mfc