2013-11-25 4 views
0

Я хочу получить значения ключа ресурса из файла ресурсов указанной информации о культуре. Вот код;Не удается загрузить ResourceSet с заданной культурой

CultureInfo languageInfo = CultureInfo.CurrentUICulture; 
ResourceSet rset = myresourceClass.ResourceManager.GetResourceSet(languageInfo, true, false); 

Третий параметр GetResourceSet является ложным, поскольку, если он истинен, он загружает файл ресурсов по умолчанию. Я хочу указанный. Но если так, он возвращает null. Почему это так?

+0

Какова текущая культура пользовательского интерфейса? У вас есть соответствующий файл ресурсов? – Szymon

+0

Мне не нужно было указывать это; yes имеют необходимый файл ресурсов, например myresourceClass.en.resx, а текущий ui - en. –

+0

«Если ресурсы не были локализованы для этой культуры, а tryParents верен, GetResourceSet использует правила возврата ресурсов для загрузки соответствующего ресурса. Если tryParents является ложным, а набор ресурсов для конкретных культур не может быть найден, метод возвращает null." Ясно, что у вас нет файла ресурсов, специфичного для культуры. Проверьте, где вы на самом деле выполняете код, который есть в файле ресурсов. –

ответ

0

Предполагая, что у вас есть библиотека классов, например «MyNamespace.Resources», в которой у вас есть файлы resx и созданные файлы конструктора, и у вас есть еще одна библиотека классов «MyNamespace.ClassLibrary», которая ссылается на ресурсы. В файлах resx должно быть установлено значение «Действие», которое должно быть установлено «Встроенный ресурс».

Вы должны убедиться, что ссылка «MyNamespace.Resources» в «MyNamespace.ClassLibrary» имеет свойство «Скопировать в локальное» в значение «Истина», чтобы файл resoruce dll копировался при сборке.

Если вы обращаетесь к файлам resx непосредственно с менеджером ресурсов, вам необходимо иметь файлы resx.

Смежные вопросы