Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从许多要生成的.resx文件中选择一个(取决于解决方案配置)?_C#_Wpf_Localization - Fatal编程技术网

C# 如何从许多要生成的.resx文件中选择一个(取决于解决方案配置)?

C# 如何从许多要生成的.resx文件中选择一个(取决于解决方案配置)?,c#,wpf,localization,C#,Wpf,Localization,我有一个C#WPF解决方案,它有两个.resx文件,一个用于韩语(Resource.resx),另一个用于英语(Resource.en us.resx)。如果我构建解决方案,我会得到主可执行文件加上一个额外的dll文件,其中包含en us区域性的资源。如果我运行可执行文件,它会根据它运行的文化自动选择语言 但是,我希望根据我选择的解决方案配置,为每种语言构建单独的可执行文件(仅包含一种语言数据,因此无论运行的是哪种文化,都只显示一种固定语言)。我怎样才能做到这一点呢?我想你什么时候要开发这个应用

我有一个C#WPF解决方案,它有两个.resx文件,一个用于韩语(Resource.resx),另一个用于英语(Resource.en us.resx)。如果我构建解决方案,我会得到主可执行文件加上一个额外的dll文件,其中包含en us区域性的资源。如果我运行可执行文件,它会根据它运行的文化自动选择语言


但是,我希望根据我选择的解决方案配置,为每种语言构建单独的可执行文件(仅包含一种语言数据,因此无论运行的是哪种文化,都只显示一种固定语言)。我怎样才能做到这一点呢?

我想你什么时候要开发这个应用程序。 选择要从属性集“生成操作”中排除的资源文件 没有价值。
希望这能解决你的问题^_^

我不认为分开前男友是个好主意。您可以在
app.config
中添加一个设置,您可以在其中设置区域性。如果您真的想要两个EXE,只需在您的解决方案中创建另一个类型为
WPF Application
的项目。在每个项目中,可以将启动时的当前区域性设置为所需的区域性

要设置区域性,可以使用以下代码:

Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en");
Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en");

FrameworkElement.LanguageProperty.OverrideMetadata(typeof(FrameworkElement), 
    new FrameworkPropertyMetadata(XmlLanguage.GetLanguage(
        CultureInfo.CurrentCulture.IetfLanguageTag)));

使用app.config看起来很合适。我可以为不同的解决方案配置使用不同的app.config文件吗?您所说的“解决方案配置”到底是什么意思?调试和发布?自定义解决方案配置,如“发布菜单”。您可以阅读本文: