Использование файлов.resx в консольном приложении.Net Core 1.1
Я пытался проверить некоторые интересные возможности.Net Core 1.1, но в процессе я столкнулся с проблемой.
Я пытался создать простое консольное приложение.NetCore
Я также создал два простых файла ресурсов.resx в корневом каталоге со строковым ресурсом.
Я позволил консоли загрузить ресурс, и он был успешно загружен.
Когда я изменил CultureInfo и снова загрузил строку.
Я ожидал, что локализованная строка будет загружена, но консоль показала тот же (английский) ресурс по умолчанию
Я делаю что-то не так? Я ожидал, что локализация должна работать как в предыдущих версиях.NET, но это не так.
Мой пример кода ниже:
//default string loaded
Console.WriteLine(AppResource.resourseText);
Console.ReadLine();
//changing CultureInfo
CultureInfo.CurrentCulture = new CultureInfo("cs");
CultureInfo.CurrentUICulture = new CultureInfo("cs");
CultureInfo cul = new CultureInfo("cs");
//loading the localized string 3 different ways
Console.WriteLine(AppResource.resourseText);
Console.WriteLine(AppResource.ResourceManager.GetString("resourseText"));
Console.WriteLine(AppResource.ResourceManager.GetString("resourseText", cul));
Console.ReadLine();
1 ответ
Вы должны установить этот пакет " https://www.nuget.org/packages/Microsoft.Extensions.Localization/", тогда Ваш код выше будет работать так, как Вы хотите. Он проверил uisng .net core 2.0 и консольное приложение