DirectoryInfo - шиза на ровном месте
От: Baiker  
Дата: 20.03.23 11:33
Оценка: -4 :))) :))) :)
Делюсь интересным багом, грабли которого M$ услужливо разложила в системе.
Код самый простой — тупо вывести последнюю модификацию каталога:

var di = new DirectoryInfo(@"C:\Windows\System32");
Log.Trace("Modif: " + di.LastWriteTime);


И код в принципе работает! Но... в одной проге он выдаёт "20/3/2023 09:58:51", а в другой — "24/2/2023 02:02:05"!!!
Т.е. это даже не игры с часовым поясом, а отставание на целый месяц! Откуда такая разница?

  Всё просто — "медвежья помощь" мелкософта!
Оказывается, одна прога была с prefer 32 bit, а другая без (обе AnyCPU). В результате, вместо нормального C:\Windows\System32 дридцатидвухбитной проге венда подсовывала c:\Windows\SysWOW64 ! Спасибо, обезьяны! Два часа отладки долой.


Я не знаю, насколько "переход на 64 бита" был тяжел для мелкософта, но вот это "c:\Program Files\", "c:\Program Files (x86)\", "C:\Windows\System32", "c:\Windows\SysWOW64" — маразм чистой воды и ГРАБЛИ на всю оставшуюся жизнь. Только придурок мог так "изящно" замаскировать венду для 32-битных прог.
Короче, программируйте и оглядывайтесь, не прилетит ли вам очередным граблями в лобешник!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.