我正在开发一个 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 应用商店应用程序。
任何帮助将不胜感激。
谢谢
阿德里安
最佳答案
如果其他人遇到同样的问题:该问题与我的基本语言(德语)有关。我不知道可移植类库总是带有以下默认程序集属性:
[assembly: NeutralResourcesLanguage("en")]
这覆盖了我在主项目中的德语基本语言设置,从而导致了上述所有问题。
关于asp.net - Resx 文件在可移植类库中无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17373411/