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