ResourceManager не может получить значение по указанному ключу - PullRequest
1 голос
/ 19 сентября 2011

Я пытаюсь получить некоторые значения из Resource. Но каждый раз это выдает мне следующую ошибку:

[MissingManifestResource_NoNeutralAsm] Аргументы: FreakyBoss.Client.Resources.Language.resources, FreakyBoss.Client Строки ресурса отладки недоступны. Часто ключ и аргументы предоставляют достаточную информацию для диагностики проблемы. Смотри http://go.microsoft.com/fwlink/?linkid=106663&Version=5.0.60401.00&File=mscorlib.dll&Key=MissingManifestResource_NoNeutralAsm

Мой код выглядит примерно так:

    private readonly ResourceManager _resourceManager;
    public TranslationProvider() {
        _resourceManager = new ResourceManager("FreakyBoss.Client.Resources.Language", Assembly.GetExecutingAssembly());
    }
    public string GetResourceValue(string key) {
        return _resourceManager.GetString(key);
    }

Моя структура решения:

enter image description here

Я не знаю, в чем проблема. У меня есть два файла ресурсов, как вы можете видеть на картинке выше. Я думаю, что есть проблема с аргументом BaseName конструктора в ResourceManager. Но я не знаю, как мне решить эту проблему.

Любой совет будет полезен.

1 Ответ

1 голос
/ 19 сентября 2011

Насколько я понимаю, вам нужно иметь ресурс по умолчанию, а затем добавить ресурсы для конкретного языка. Так что в вашем случае вы бы имели (при условии, что en по умолчанию):

  • Language.resx
  • Language.fa.resx

Файл ресурсов уже содержит весь сгенерированный код, поэтому вам не нужно писать код для генерации менеджера ресурсов. Просто откройте свойство Language.ResourceManager.

...