我有一个密封的Windows XP嵌入式设备,它总是使用相同的窗口设置启动。当我的软件启动时,它需要将机器的时区设置为用户可配置的设置。不幸的是,我发现即使我在更新时区,.net中检索系统时间的所有方法似乎都没有接收到更改。
一点挖掘表明,在.net 3.5和4.0中,有一种清除缓存的方法:system.timezoneinfo.clearcacheddata()。不过我正在使用.net 2.0,那么我如何在.net 2.0中绕过这一点呢?
唯一的选择是在主应用程序运行之前运行第二个软件来设置时区吗(重新加载软件似乎可以解决问题)?
Nevermind;我找到了一个可以一直工作到.net v1.0的解决方案:
System.Globalization.CultureInfo.CurrentCulture.ClearCachedData();