当项目中有多种语言时,Ressource返回null

时间:2017-11-23 23:09:12

标签: uwp

我有一个Windows UWP项目,其目标是使用.net标准2.0项目的FCU,用于平台之间的代码共享。在那个项目中,我有一个名为" Strings.resx"的资源文件。只要我只有其中一个它按预期工作。但是当我添加一个文件" Strings.de.resx"对于德语翻译Strings.[MyString]将只返回null。

我已经尝试过运行自定义工具了。但它确实起作用。只要删除第二个文件并运行自定义工具,它就会再次运行。

请求的字符串是否在新资源文件中并不重要。两种情况都会发生错误。

我也做了一个小例子。你可以在GitHub上找到它:https://github.com/NPadrutt/ResourceTest

我错过了什么?

1 个答案:

答案 0 :(得分:1)

  

当项目中有多种语言时,Ressource返回null

这是因为您没有指定应用程序的默认文化。如果没有找到特定文化的本地化资源,则使用其资源的文化。由于您有多种语言,如果您没有指定默认文化,资源将不知道应该使用哪种语言,因此返回null。

右键单击包含.resx文件的类库项目,单击 Package ,然后以中性语言选择适当的语言/文化列表。

enter image description here

更多详情请参阅Resource Files in Visual Studio