最近因为dev这边的一个问题,导致了我们的测试代码在global的环境中全部执行失败。主要错误的地方其实是测试代码想得到产品的当前文化(就是当时是那个build的语言版本), 它是通过在运行产品时动态设置的一个环境变量来实现存储的。在确保测试代码这边没有问题后,仔细看了源码,发现本质的问题应该那个通过环境变量里边取得的语言值不正确。
所以,理所当然的解决办法是要改产品的代码,让测试代码得到正确的语言值,但是经过和dev争论后,还是因为某些原因(我也说不清,不过开了一个workitem留到之后的版本去修了)没有在这个版本里去修。说实话,这个问题对用户来说也没有直接的影响,所以现在的workaround即是在测试代码这边了做了手脚。在此过程中,倒是去了解下culture这个东西,发现在.NET中对其的支持还是比较强大的,有必要去了解以下几点:
(从另一个博主wobuwei和MSDN那里转了一些不错的解释,同时也加上了自己的总结)