У меня есть библиотека, для которой я пишу юнит-тесты. Библиотека используется двумя приложениями: одно - службой Windows, другое - приложением командной строки, которое выполняет некоторые операции чтения-записи реестра. Каждый из них имеет свой файл App.config, который загружается из библиотеки при запуске. Например:
public RetentionService()
{
SettingHive = new Hive();
TimingService = new RetentionTimingService(SettingHive);
AppSettingsReader asr = new AppSettingsReader();
object appsListObj = asr.GetValue(@"blocking-process-list", Type.GetType(@"System.String"));
string appsList = appsListObj.ToString();
_BlockingAppNames = RetentionService.ListFromList(appsList);
string targetList = asr.GetValue(@"target-files", Type.GetType(@"System.String")).ToString();
_TargetLogs = RetentionService.ListFromList(targetList);
}
Когда я пытаюсь использовать эту библиотеку из модульного теста, она не загружается, потому что приложение, загружающее библиотеку (предположительно nunit), не имеет файла * .exe.config с соответствующими ключами.
Какой лучший способ сделать это? Мне бы хотелось, чтобы библиотека загружала параметры из * .exe.config каждого приложения в производственном режиме, но из третьего расположения, если выполнялся модульный тест.