人。 好吗?ASP.NET CORE(.NET Framework)和本地化
有人可以帮助我吗? ASP.NET核心与.Net框架
主题:本地化
我根据文档所做的所有设置。
当我使用:
IStringLocalizer<HomeController>
作品完美的翻译。
IStringLocalizer<Resources.Views.Shared.Test>
作品完美翻译。
在查看
@inject IViewLocalizer localizer
作品翻译正确。
但是,在之前的所有情况下,资源都是在ASP.NET CORE项目中创建的。
如果我创建一个单独的项目和使用:
IStringLocalizer<ClassLibrary1.Test>
不工作,不翻译。
它只返回默认语言。
如果我强迫在控制器的ASP.NET核心代码:
ResourceManager rm = new ResourceManager(typeof(ClassLibrary1.Test));
string test = rm.GetString("Hello", new System.Globalization.CultureInfo("en-US"));
它没有很好的解读。 它只返回默认语言。
也就是说,我怀疑这与在一个单独的项目中有关。
现在奇怪的是,我创造了另一个ClassLibrary,并把代码:
string test = Test.ResourceManager.GetString("Hello", new System.Globalization.CultureInfo("en-US"));
如果我在一个ASP.NET核心参考此ClassLibrary,返回的是标准的语言,这是不对的。
如果我在Asp.Net中引用,它的工作原理和翻译完美。
这将是一个已知的错误?
在asp.net核心中使用的设计中的类库的一些特定配置?
我想在asp.net中使用.NET框架的核心asp.net应该可以同时使用相同的代码。
有没有人有类似的问题?
烧在这几个小时。我可以证实这是正确的。不幸的是(微软的结束)但是正确。只需将包含资源的项目中生成的文化文件夹复制到Core项目的输出目录中,ResourceManager将再次正常开始工作。 (例如“en-US”文件夹为“bin \ net452”... bam ...完成交易)。感谢爱德华将这个分类出来。 – mikeo