ASP.NET MVC - проблема с локальными ресурсами

У меня возникла проблема при попытке переопределить атрибут 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»

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

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


person JP.    schedule 17.01.2010    source источник


Ответы (1)


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

person Tomcat    schedule 28.01.2010