2

我正在开发一个带有本地化字符串资源的 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 Apps。

任何帮助将不胜感激。

谢谢,

阿德里安

4

1 回答 1

4

万一其他人遇到同样的问题:问题与我的基本语言有关,即德语。我不知道可移植类库总是带有以下默认程序集属性:

[assembly: NeutralResourcesLanguage("en")]

这覆盖了我在主项目中的德语基础语言设置,从而导致了上述所有问题。

于 2013-06-29T08:18:48.287 回答