gpt4 book ai didi

c++ - TFS 版本 : projects rebuilt even if not changed

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:46:37 27 4
gpt4 key购买 nike

我正在尝试通过 Team Build 系统 (TFS 2013) 自动化我们的主要项目构建 (C++)。但是,我看到总是构建几个项目,即使没有发生代码更改,而在我的开发机器上使用 VS2013 时不会发生这种情况。这会引起一些麻烦,因为二进制文件总是会生成并发送给测试团队,即使没有真正修改。

在构建输出中启用“诊断”详细信息,我看到这两个项目表现出不同的行为。

在第一个项目中,日志显示所有 .cpp 文件都被重建,因为 .PCH 文件已被修改(尽管没有发生任何变化)。我可以尝试禁用 PCH,但如果可能的话我真的会避免它。此外,不去寻找错误的根本原因会给一次又一次的错误留下敞开的大门。

在第二个项目中,我们有一个生成 .h 文件的预构建步骤。但是,如果未检测到代码更改 (https://msdn.microsoft.com/en-us/library/42x5kfw4.aspx),预构建步骤不应运行,这确实发生在我的开发机器上。相反,在构建机器上,会执行预构建步骤,生成 .h 并强制进行完整的重建。

在团队build设置中,我有“Clean workspace=false”、“Clean build=false”。我还在 MSBuild 设置中尝试了“/p:IncrementalBuild=True”,但这并没有解决问题。

注意 - 我已经看过 Visual Studio Rebuilds unmodified projectsVS2010 always rebuilds solution?发布前。

最佳答案

根据您关于 project2 的信息,预构建步骤在构建代理上执行,而不是在您的本地计算机上执行。您的本地构建环境和构建代理环境必须有所不同。这可能是根本原因。

建议您仔细检查并确保彼此的环境相同。然后再试一次。

关于c++ - TFS 版本 : projects rebuilt even if not changed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37052301/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com