У меня проблема с ресурсами с локализациями в веб-приложении. Мне нужно использовать их из разных сборок (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.
Я развернул ту же версию на своем локальном IIS и на внешнем сервере. Локально я получаю исключение, а на внешнем IIS он правильно находит ресурсы. Может ли кто-нибудь сказать мне, какое свойство IIS может повлиять на эту проблему? –