Проблема с языковыми файлами ресурсов в проекте библиотеки классов - PullRequest
5 голосов
/ 06 февраля 2010

Я работаю над приложением ASP.NET MVC 2 и использую отдельную библиотеку классов для своей модели. Я использовал файлы ресурсов в своем проекте библиотеки классов для встраивания проверочных сообщений и использования их в моих классах метаданных, и все было в порядке, пока я не решил добавить новый язык в свой проект, поэтому я переименовал Resource.resx в Resource.en-US.resx а также скопировал и сохранил его как новый Resource.fa-IR.resx для другого языка, но после его переименования все в файле-компаньоне Designer.cs пропало, и я больше не могу получить доступ к файлу ресурса. Как только я удалю название языка (например, en-US) из имени файла, оно будет работать правильно.

Я уже установил модификатор доступа в Public, но безрезультатно.

Я использую Visual Studio 2008 SP1.

Ответы [ 2 ]

6 голосов
/ 06 февраля 2010

Не переименовывайте resources.resx: вместо этого просто добавьте файлы ресурсов для дополнительных культур, которые вам нужны.

Resources.resx содержит «нейтральные» ресурсы, которые будут скомпилированы в вашу основную сборку и использованы в качестве запасного варианта, если не найдена сателлитная сборка для требуемой культуры.

Каждый дополнительный файл ресурса, например, Resource.fa-IR.resx обычно компилируется в сателлитную сборку для конкретной культуры.

Вы также можете добавить в свой AssemblyInfo.cs атрибут NeutralResourcesLanguageAttribute, который информирует ResourceManager о языке, который вы использовали для нейтральных ресурсов:

assembly: [System.Resources.NeutralResourcesLanguage("en-US")]
2 голосов
/ 06 февраля 2010

Вам не нужно переименовывать язык по умолчанию в Resources.en-us.resx.Просто сохраните его как Resources.resx, и он будет использоваться как запасной файл ресурсов. Это означает, что если пользовательский язык отсутствует, например, арабский, он будет использоваться, поэтому у вас должны быть следующие файлы:

Resource.resx

Resource.fa-IR.resx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...