My.Resources в библиотеке классов при развертывании не работает должным образом - PullRequest
0 голосов
/ 20 января 2010

приложение ASP.NET с платформой CSLA;Visual Studio 2008

У меня есть библиотека классов бизнес-объектов.Я храню поврежденные строки правил в файле ресурсов, связанном с проектом (Мои проекты> Resources.resx).Я добавил новый файл resx в проект и назвал его Resources.fr-CA.resx для хранения эквивалентов правил на французском языке.

Я вызываю строки с объектом My.Resources, например так:

e.description = My.Resources.BrokenRulesString

Это работает как талисман, когда я запускаю приложение локально (т.е. нажимаю «играть» в Visual Studio).Однако при сборке и развертывании приложения в другой среде я всегда получаю значения в файле ресурсов по умолчанию.

Даже если я явно установил для культуры значение "fr-CA" в файле Resources.Designer.vbвот так, свойство возвращает строку из файла ресурсов по умолчанию:

Public ReadOnly Property BrokenRulesString() As String
   Get
        Return ResourceManager.GetString("BrokenRulesString", "fr-CA")
   End Get
End Property

Мне кажется, что приложение не видит файл ресурсов fr-CA, поэтому по умолчанию используется файл ... default,Любые советы, как это работает?

Спасибо.

Ответы [ 2 ]

1 голос
/ 20 января 2010

Необходимо убедиться, что спутниковая сборка, содержащая ваши локализованные строки, развернута в правильной структуре каталогов.Подробнее см. эту статью MSDN.

Из статьи:

After you have compiled your satellite assemblies, they all have the same name. The runtime differentiates between them based upon the culture specified at compile time with Al.exe's /culture option and by each assembly's directory location. You must place your satellite assemblies in expected directory locations.

0 голосов
/ 20 января 2010

В конечном итоге все сводилось к тому, что я не добавил подходящую группу вывода проекта (локализованные ресурсы) для проекта Business.Library в проект установки.Я добавил его в папку bin, и теперь развернутое приложение также работает как шарм.

Одед, спасибо за то, что моя голова указала в правильном направлении.Ура!

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