2014-09-17 4 views
0

У меня проблема с ресурсами с локализациями в веб-приложении. Мне нужно использовать их из разных сборок (WebSite, BLL и т. Д.), Поэтому я решил переместить их в отдельную библиотеку. Я использую три различные конфигурации сборки (Debug, Release и QA, основанные на выпуске). Когда я запускаю приложение локально, все нормально (независимо от конфигурации). Проблема заключается в том, когда я развертываю его в IIS (такая же ситуация для локального или внешнего сервера). Развертывание в конфигурации отладки работает отлично, но в QA или Release я получаю это исключение:Ресурсы в отдельной сборке не видны в разных конфигурациях сборки

System.Web.HttpUnhandledException (0x80004005): Исключение типа «System.Web.HttpUnhandledException» был брошен. ---> System.Resources.MissingManifestResourceException: Не удалось найти ни одного ресурсов, подходящих для указанной культуры или нейтральной культуры . Убедитесь, что «MyToolResources.Resources.Emails.Mail.resources» был правильно встроен или связан с сборкой «BusinessLogicLayer» на времени компиляции или что все необходимые спутниковые сборки загружаются и полностью подписаны.

Я нашел много тем с этой проблемой, но ни один из них не зависел от конфигурации сборки/развертывания.

сборки: MyTool - веб-сайт BusinessLogicLayer - библиотека классов MyToolResources - класс библиотеки с ресурсами

Мой менеджер ресурсов:

var assembly = System.Reflection.Assembly.GetCallingAssembly(); 
mailResourceManager = new ResourceManager("MyToolResources.Resources.Emails.Mail", assembly); 

private static ResourceSet GetResourceSet(ResourceManager resourceManager, CultureInfo culture) 
{ 
    return resourceManager.GetResourceSet(culture, true, true); 
} 

Сборку ресурсами правильно копируется в каталог/бен - то же самое в конфигурациях Debug и QA/Release.

+0

Я развернул ту же версию на своем локальном IIS и на внешнем сервере. Локально я получаю исключение, а на внешнем IIS он правильно находит ресурсы. Может ли кто-нибудь сказать мне, какое свойство IIS может повлиять на эту проблему? –

ответ

0

После сравнения обеих конфигураций IIS я наконец нашел решение. Построение для развертывания должно быть явно предназначено для x86 (даже для среды x64), а затем оно работает.

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

  • Нет связанных вопросов^_^