Защо изведнъж Visual Studio прави full rebuild?

Интересен проблем, който засяга програмисти на C++ с Visual Studio >= 2010 (а може би и други, които ползват Windows 10?).

Има един голям ъпдейт на Windows 10, който вирее от една седмица насам. По някаква причина файловете, които идват от този ъпдейт, идват с timestamp около 12 часа в бъдещето (примерно ако ъпдейтнете в 9 сутринта, файловете ще имат timestamp 9 вечерта).

Visual C/C++ >= 2010, когато прави билд, сравнява таймстампа на предишния билд с много неща, сред които и разни dll файлове от windows\system32. Тези файлове обаче са от бъдещето и съответно проектите ви НЕ са up to date, когато и да са билднати. И това води до full rebuild. Всеки път.

Та, едно решение, което най-вероятно работи но е много тормоз, е да влезете в safe mode и ръчно да touch-нете тези файлове за да влязат в реалността.

Другото, което със сигурност работи и е по-лесно, е да си преместите системния часовник с 12 часа напред, докато не реалността не настигне майкрософтското време и тогава ще можете да си го върнете.

Сигурно този проблем ще бъде отстранен скоро, но докато не е, може би този пост ще спести малко тормоз на хората.

За да видите дали сте засегнати, вижте датата на windows\system32\tzres.dll