asp.net: развертывание локальных ресурсов - возможно ли встраивание?

У меня есть приложение asp.net с некоторыми местными ресурсами. Эти ресурсы используются в файлах aspx и кода программной части:

aspx:
<asp:TextBox ID="TextBox1" runat="server" Text="<%$ Resources:testTag %>" />

.vb:
TextBox1.Text = GetLocalResourceObject("testTag").ToString

Если я разверну файлы .resx вместе с приложением, проблем не возникнет.

Однако, если я изменю действие сборки для файла resx на «Встроенный ресурс», ресурсы будут недоступны, даже если они находятся в создаваемой DLL.

Можно ли развернуть ресурсы в DLL, или я застрял в управлении и развертывании файлов resx на сервере?


person chris    schedule 22.05.2009    source источник
comment
Вы когда-нибудь решали эту проблему? В настоящее время я пытаюсь написать свой собственный ResourceProviderFactory для поддержки того же сценария, но мне пока не удалось - stackoverflow.com/questions/10533721/   -  person Buthrakaur    schedule 11.05.2012


Ответы (1)


Да, это возможно.

Посмотрите этот пример кода проекта. Это немного старовато, но все еще актуально.

Другой пример от Microsoft - здесь.

ОБНОВЛЕНИЕ

Честно говоря, я еще не зашел так далеко с нашими собственными локализациями (мы все еще используем обычно встроенные файлы ресурсов); однако вот ссылка на пример получения менеджер ресурсов, доступный со страницы aspx. Это последний пост в этой ветке.

GeorgeZ заявляет, что необходимо загрузить диспетчер ресурсов в методе page_init. Я уверен, что вы могли бы поместить это в какой-то тип BasePage, от которого наследуются все ваши страницы, чтобы не иметь его непосредственно во всем своем коде.

person NotMe    schedule 22.05.2009
comment
Похоже, что нет способа обрабатывать локализованные строки на странице aspx с помощью этого механизма. У нас есть множество меток, которые никогда не затрагиваются в коде программной части, но которые все равно должны отображать локализованные значения. - person chris; 22.05.2009