ASP.NET MVC - проблема локальных ресурсов - PullRequest
0 голосов
/ 17 января 2010

У меня возникла проблема при попытке переопределить атрибут DisplayNameAttribute в ASP.NET MVC для предоставления локализованной строки. Сам код является простым и похожим на код в другой публикации Stackoverflow текст ссылки

Код работает для глобальных ресурсов, но не очень хорошо для локальных ресурсов. У меня есть экран регистрации и я использовал команду «Создать локальный ресурс» в Visual Studio для создания моего файла локальных ресурсов. Созданный файл называется Registration.aspx.resx, и папка App_LocalResources создается относительно фактической страницы Registration.aspx - как и следовало ожидать.

Однако, когда я пытаюсь получить локализованную строку, используя:

ResourceManager.GetString(resourceKey)

Я получаю следующее сообщение об ошибке.

Не удалось найти ресурсы подходит для указанной культуры или нейтральная культура. Удостовериться "FullAssemblyName.Views.Account.App_LocalResources.Registration_aspx.resources" был правильно встроен или связан с сборка "FullAssemblyName" при компиляции время или что все спутник требуемые сборки являются загружаемыми и полностью подписано.

Используя отражатель, я вижу, что файл на самом деле - Registration.aspx.resources, а не Registration_aspx.resources - подчеркивание / точка - это небольшая разница

FullAssemblyName.Views.Account.App_LocalResources.Registration.aspx.resources

Я немного поиграл с кодом, но что бы я ни делал, запрашиваемый файл всегда отличается от того, который копируется в сборку. Например, если я переименую Registration_aspx (в сгенерированном классе Registration.aspx.designer.cs я получаю ту же ошибку, но на этот раз путь "... App_LocalResources.Registrationaspx.resources"

Кто-нибудь сталкивался с этим? Можно ли как-нибудь убедиться, что ресурс, найденный в моей сборке, имеет такое подчеркивание?!?!?

Заранее спасибо!

1 Ответ

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

Попробуйте решение Майкла К. Кэмпбелла текст ссылки . Это помогло мне локализовать мой проект.

...