在 Windows 更新后C++不需要重新生成项目

Unwanted rebuilds of C++ project after a Windows update

本文关键字:新生 项目 不需要 C++ Windows 更新      更新时间:2023-10-16

Windows更新后,Visual Studio总是重建我的C++项目。诊断日志 说:

Project 'my.vcxproj' not up to date because 'C:WINDOWSSYSTEM32TZRES.DLL'
was modified at 01/25/2018 07:43:09, which is newer than 'DEBUGMY.LIB'
which was modified at 01/25/2018 05:28:05

为什么Visual Studio检查system32 DLL的时间戳?尤其是那些连的都没有联系的?

重建无济于事,因为Windows更新已设置了该DLL的创建,修改和上次访问时间戳。顺便说一句,DLL的描述说"时区资源DLL",不知道这是否相关。

更新

查看 Aleksey Katargin 的评论,您似乎可以通过向 VC++ 排除项添加$(SystemRoot)system32来自行解决此问题。

相同的

日志存在相同的问题。 Visual Studio Professional 15.9.0
win10 更新后出现的问题 到 1803
通过将 $(SystemRoot)\system32 添加到 VC++ 排除来修复


原始回复

看起来我们并不孤单 由于 TZRE而再次编译的最新项目 .DLL日期戳在 Windows 更新后的未来

糟糕的解决方案是等到那个时间过去,问题就会神奇地消失。 我刚刚遇到了同样的问题,我的 TZRES.DLL 文件是 17/07/2018 19:54,现在的时间是 17/07/2018 15:15。我的解决方案构建需要 10 分钟,所以今天在办公室将是糟糕的一天,除非我破解文件的修改日期,但我不知道这会有什么影响。或者更改您的系统时钟,我不能,因为我的被组策略锁定。

(对于其他读者) 可以通过转到工具->选项->生成和运行->MSBuild 项目生成输出详细程度 ->详细)来找出此问题的原因。然后编译,然后搜索短语将被编译

[myfilename] 将被编译为 C:\WINDOWS\SYSTEM32\TZRES.DLL 在 17/07/2018 19:54:54 修改。