#asp.net #localization #globalization #resourceproviderfactory
Вопрос:
У меня есть собственный поставщик ресурсов, который я использую для локализации. И у меня есть элементы управления, помеченные атрибутом meta:resourcekey. В какой-то момент за последние пару дней, как раз в моей среде разработки, элементы управления, находящиеся внутри пользовательских элементов управления, больше не запускают IResourceProvider.Получить объект.
например, вот скриншот в среде разработки без каких-либо заполнителей, показывающих отсутствующие переводы:
и вот скриншот с сервера, показывающий, что заполнители вводятся правильно:
и вот некоторые из разметки для этого пользовательского элемента управления, показывающие, что установлены атрибуты meta:resourcekey:
Если я поставлю точку останова в IResourceProvider.GetObject он не попадает в соответствующие элементы управления (он попадает во все остальное). Если я удалю свой пользовательский тип resourceProviderFactoryType из globalization.config и вернусь к использованию файлов resx, элементы управления все равно не будут переведены; проблема, похоже, возникает до того, как она попадет в какой-либо мой код. Если я вручную вызову GetLocalResourceObject в коде, то будут возвращены локализованные строки.
Все работает на производственных серверах, и все это работает в чужой среде разработки, так что это должно быть как-то связано с моей машиной. Я удалил кучу старого хлама и удалил все свои ASP.NET временные файлы и очистил сборку и восстановил Visual Studio.
За исключением переустановки Windows, какие настройки, конфигурация или старый временный файл могут быть причиной такого поведения?