Отсутствует ошибка манифеста при попытке получить ресурс через менеджер ресурсов

1

У меня проблемы с получением ресурсов динамически, так как я получаю ошибки "Отсутствующие манифестации". Я поднял несколько возможных причин и сделал то, что там было написано, но пока ничего не получилось.

В настоящее время у меня есть такая ситуация: файл resx, к которому я пытаюсь получить доступ, это: "Resources/Messages.resx" (таким образом, в нестандартной папке.

Код, который я использую, следующий:

ResourceManager resourceManager = new ResourceManager("Resources.Messages", this.GetType().Assembly);
resourceManager.GetString("ResourceText" + MessageType + "Subject")

с типом messageType. Во второй строке появляется сообщение об ошибке.

Статус файла ресурсов:

  • Build Aciton: встроенный ресурс
  • Пользовательский инструмент: PublicResXFileCodeGenerator
  • Модификатор доступа

Resfile имеет 2 варианта: Messages.res и Messages.de.resx с одинаковыми именами для каждой строки, а также те же общие свойства ("GetString" также окончательно пытается получить доступ к правильному имени).

Итак, мой вопрос в том, что я делаю неправильно, и что я могу сделать, чтобы исправить эту проблему?

Теги:
embedded-resource

1 ответ

3
Лучший ответ

Нашел проблему. Для нового ResourceManager необходимо указать не только пространство имен файлов ресурсов, но также пространство имен по умолчанию. Таким образом, если у приложения есть пространство имен по умолчанию: MyApplication.MyServerApp, то вместо "Resources.Messages" нужно добавить: "MyApplication.MyServerApp.Resources.Messages", приводящий к следующему функционирующему исходному коду:

ResourceManager resourceManager = new ResourceManager("MyApplication.MyServerApp.Resources.Messages", this.GetType().Assembly);
resourceManager.GetString("ResourceText" + MessageType + "Subject")

Ещё вопросы

Сообщество Overcoder
Наверх
Меню