Нет, нет никакого различия, чистого синтаксический сахар .
Я только что нашел решение здесь . App.config теперь используется правильно при запуске моих тестов через графический интерфейс NUnit.
Очевидно, если вы используете графический интерфейс NUnit и добавляете сборку, выбрав Project> Add Assembly, он не обращается к app.config. Однако если вы добавите сборку в проект NUnit, перетащив dll из проводника Windows в графический интерфейс NUnit, он получит доступ к app.config.
В качестве альтернативы, вы можете добавить сборку через графический интерфейс, а затем перейти в NUnit GUI> Проект> Редактировать и установить Имя файла конфигурации равным имени файла конфигурации (VS установит это как name.of.your. dll.
Я бы порекомендовал изменить дизайн таким образом, чтобы ваш уровень бизнес-логики, вместо того, чтобы отвечать за поиск параметров конфигурации, был введен вместе с ними .
Ваш Веб-приложение может вводить параметры, которые оно считывает из файла Web.config, в то время как ваш модульный тест может вводить другие параметры (например, строку подключения к тестовой базе данных и т. Д.)
Попробуйте метод WebConfigurationManager.OpenWebConfiguration ()
Configuration config = WebConfigurationManager.OpenWebConfiguration(@"x:\path\web.config");
KeyValueConfigurationCollection appSettings = config.AppSettings.Settings;
string connString = appSettings["connString"].Value;
Просто переименуйте приложение. config
to name.of.your.dll.config
. Это работает на меня.