Чтение значений из вспомогательных сборок с помощью ResourceManager

Привет. Может кто-нибудь подскажет, как читать значения из спутниковых сборок с помощью диспетчера ресурсов. У меня есть приложение MyApplication, которое будет содержать все файлы ресурсов. Теперь мне нужно прочитать значения этих ресурсов в другом моем приложении (приложение ABC). Может кто-нибудь сказать мне, как я могу это сделать.


person Punit    schedule 19.11.2009    source источник


Ответы (2)


  • Убедитесь, что файлы ресурсов (resx) установлены как общедоступные, а не внутренние (в свойствах).

  • Установите пространство имен на то, которое вы хотите использовать для каждого файла (снова в свойствах).

(Класс будет создаваться динамически, чтобы вы могли ссылаться на ресурсы в своем коде.)

  • Добавьте ссылку на вспомогательную сборку из проекта, который будет ее использовать.

Затем вы можете ссылаться на строки, используя пространство имен, указанное в свойствах (Intellisense действительно может вам здесь помочь!). Например. Resources.SomeSpace.Somefile.Someresourcestring

person UpTheCreek    schedule 19.11.2009
comment
Я пробовал решение, которое вы сказали, но оно не работает. rx = новый ResourceManager (MyResource, Assembly.GetExecutingAssembly ()); MyResource - это имя класса, и я также сослался на сборку после того, как сделал ее общедоступной для вызывающего приложения. Теперь, когда я пытаюсь использовать GetString, он выдает исключение: не удалось найти ресурсы, подходящие для указанной культуры или нейтральной культуры. Убедитесь, что MyResource.resources был правильно встроен или связан со сборкой ConsoleApplication1 во время компиляции или что все необходимые вспомогательные сборки загружаются и полностью подписаны. - person Punit; 19.11.2009

Это помогло мне: Получение ресурсов с помощью класса ResourceManager

person Tyson Nero    schedule 11.11.2011