我正在使用位于可移植类库中的本地化字符串资源的ASP.NET项目。它编译好,但在运行时,ResourceManager总是只返回资源的基础文化中的字符串。它忽略了当前线程的文化,当我直接指定文化时它甚至会忽略。
例如,当我写
时Localized.General.ResourceManager.GetString( “Kommentar”,CultureInfo.CreateSpecificCulture( “EN-GB”));
它返回我的基础文化的字符串,即德语,尽管它显然应该返回英语字符串。
如果我将资源移动到常规的.NET 4库中,问题就会消失。
如果它很重要,我正在使用Visual Studio 2012,.NET 4作为ASP.NET项目,而我的目标是在PCL中使用.NET 4和Windows Store应用程序。
非常感谢任何帮助。
谢谢,
阿德里安
答案 0 :(得分:3)
如果其他人遇到同样的问题:问题与我的基本语言有关,即德语。我不知道可移植类库总是带有以下默认汇编属性:
[assembly: NeutralResourcesLanguage("en")]
这覆盖了主项目中的德语基础语言设置,从而导致上述所有问题。