我现在正在本地化我的WPF应用程序,并且在MainWindow的构造函数中有一小段代码:
System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(Settings.Default.Language);
我开始后它崩溃了,说:
XmlParseException:{"'The invocation of the constructor on type 'Program.MainWindow' that matches the specified binding constraints threw an exception.' Line number '3' and line position '9'."}
its inner: CultureNotFoundException: Culture is not supported. Parameter name: nameen-UK is an invalid culture identifier.
现在我知道没有像英国这样的文化名称。我偶然输了一次......我以为有。
现在一切都包含:en-GB。 (设置,appconfig等)
我已经完成的步骤:
没有结果......
然后我在构造函数和
中放置了一个断点Settings.Default.Language
的值为“en-UK”。
关键点:在发布模式下一切正常。它仅在调试模式下发生。这怎么可能?
在发布模式下,Settings.Default.Language具有en-GB值(很好)。
你以前遇到过这个问题吗?它是Visual Studio的错误还是我生气了?谢谢。
答案 0 :(得分:0)
在Visual Studio中,调试模式或发布模式每个都有一个单独的配置文件; 因此,当您使用Debug配置进行调试时,仍会注册旧的配置信息; 尝试在构造函数中这样做:
Setting.Default.Reset();
如果这对您没有帮助,请发布一些代码以获取更多详细信息。