Это должно быть очевидно, только я не вижу проблемы.Я бьюсь головой об стену уже 6 часов.
Я пытаюсь использовать локализацию в веб-приложении aspnet.core 2.0.6.У меня есть пакеты:
- Microsoft.AspNetCore.All 2.0.6
- Microsoft.Extensions.Localization 2.0.3
Я правильно инициализировал его, используя:
services.AddLocalization(options => options.ResourcesPath = "Resources");
в Startup.ConfigureServices (первая строка)
app.UseRequestLocalization(options => ...)
в Startup.Configure (первая строка)
У меня есть фиктивный класс SharedResources в проектеroot (пространство имен идентично имени сборки).У меня также есть файлы Resources / SharedResources.xy.resx.
Я вставляю IStringLocalizer<SharedResources>
в контроллер.Культура настроена правильно.Мой код перевода:
var test = _localizer.GetString("Test");
test = _localizer.WithCulture(CultureInfo.GetCultureInfo("xy")).GetString("Test");
Я получаю исходную строку обратно.Я не получаю никаких сообщений об ошибках на консоли, кроме одной информации:
Loaded '/app/bin/Debug/netcoreapp2.0/xy/AssemblyName.resources.dll'. Module was built without symbols.
Где xy - это код культуры, который я использовал, а AssemblyName - имя моего веб-приложения.Это довольно большой проект, и в моей среде он работает под управлением докера, но я полагаю, что это не должно быть проблемой.
Я не смог найти информацию о отладке или tracing промежуточное ПО локализации.Является ли это возможным? Каким может быть следующий шаг, чтобы выяснить, что происходит? У меня закончились идеи.
Заранее спасибо!