设置Thread.CurrentThread.CurrentUICulture突然似乎对我没有影响

时间:2017-08-15 19:54:48

标签: c# visual-studio internationalization visual-studio-2017 culture

我们有一个使用Windows窗体的C#Click-Once应用程序(是的,我知道它已经过时了,我们很快就会用Xamarin创建一个新的应用程序)。我们有一些人,每个都在Visual Studio 2017中开发。我们通过TFS共享我们的代码。我安装了所有最新的Visual Studio更新,并将我的visual studio版本15.2(26430.16)与我的同事进行了比较。我们有相同的版本。

无论如何,我们的应用程序是多用户,用户使用单独的帐户登录,我们根据用户首选项设置显示语言,而不是机器的当前语言。我们使用这一行设置它:

Thread.CurrentThread.CurrentUICulture = OurFormClass.UserPreferredCultureInfo;

OurFormClass.UserPreferredCultureInfo是一个静态方法,它返回CultureInfo对象中用户的首选语言。

我们多年来一直这样做,但几天前我注意到它不再适用于我。奇怪的是,它仍适用于其他开发人员。当我作为我们的外语测试用户之一登录时,我的所有标签控件和字符串资源仍然是英文版。我在上面一行设置了一个断点,它被设置为正确的语言,但是没有效果。

我尝试删除源代码并将其从源代码控制中拉回来。这没有用。我甚至尝试卸载并重新安装Visual Studio。这仍然没有帮助。我将构建输出复制到网络驱动器,让我的一个同事运行它。一切都是英语。我让他将他的构建输出复制到网络驱动器,然后运行它。国际化有效!

我真的不知道从这里尝试什么。我使用已知良好的源代码和全新的Visual Studio安装。有没有人有任何想法,我应该在下一步看?

感谢您的帮助!

0 个答案:

没有答案