设置文件的问题取决于配置(调试,发布)

时间:2014-04-17 13:28:19

标签: c# wpf visual-studio settings culture

我现在正在本地化我的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等)

我已经完成的步骤:

  • restart devenv
  • 删除所有bin和obj文件夹。
  • 在整个解决方案中搜索表达式:“en-UK”(有和没有区分大小写)
  • 使用总指挥官搜索“asterisk dot asterisk”,其中包含文字:“en-UK”(有和没有区分大小写)

没有结果......

然后我在构造函数和

中放置了一个断点
Settings.Default.Language

的值为“en-UK”。

关键点:在发布模式下一切正常。它仅在调试模式下发生。这怎么可能?

在发布模式下,Settings.Default.Language具有en-GB值(很好)。

你以前遇到过这个问题吗?它是Visual Studio的错误还是我生气了?谢谢。

1 个答案:

答案 0 :(得分:0)

在Visual Studio中,调试模式或发布模式每个都有一个单独的配置文件; 因此,当您使用Debug配置进行调试时,仍会注册旧的配置信息; 尝试在构造函数中这样做:

Setting.Default.Reset();

如果这对您没有帮助,请发布一些代码以获取更多详细信息。