Мне было любопытно, есть ли у кого-нибудь проблемы с созданием модульных тестов с использованием ResourceManager. Я использую тестовую версию Visual Studio, и похоже, что вспомогательные сборки не загружаются во время теста. Когда я пытаюсь получить ресурс для другой культуры, тест всегда терпит неудачу, и менеджер ресурсов всегда возвращается к культуре по умолчанию. Тот же самый код отлично работает в обычном приложении.





Раньше у меня были подобные проблемы со сборками сателлитов. Пытаться добавление вспомогательных сборок в зависимости проектов юнита. В Visual Studio Тест - изменение конфигурации тестового прогона. Выберите «Развертывание» и добавьте файлы. здесь.
При запуске всех приложений библиотеки DLL и т. д. Копируются в специальный каталог. DLL со строгими именами можно игнорировать, поскольку ожидается, что они будут в GAC.
Это заставило меня двигаться в правильном направлении. Добавление файлов в конфигурацию развертывания не помогло, но отключение развертывания сработало.
Для справки в будущем посетите это сообщение в блоге и прокрутите вниз до раздела «Управление тестовыми запусками», чтобы получить подробную информацию о создании тестовой конфигурации и о том, как отключить развертывание.
Если вы используете MSTest и хотите получить доступ к ресурсу, отличному от нейтральной культуры, вам необходимо убедиться, что вспомогательная сборка для конкретной культуры развернута в тестовом каталоге в папке вашего решения.
Просто добавьте этот атрибут в свой модульный тест:
[DeploymentItem( @"de-DE\AssemblyName.resources.dll", "de-DE")]
Это развернет сборку ресурсов в тестовом каталоге в указанном подкаталоге, зависящем от языка и региональных параметров.
Теперь это помогло мне решить одну и ту же проблему в двух разных случаях.