В моем проекте у меня есть App.config, где я храню всю конфигурацию.Я использовал несколько разделов, чтобы получить чистый и читаемый файл App.config.Каждый раздел посвящен определенному контроллеру.Вот пример того, что у меня есть в моем файле:
<configuration>
<configSections>
<section name="applicationConfiguration" type="System.Configuration.NameValueSectionHandler" />
<section name="databaseConfiguration" type="System.Configuration.NameValueSectionHandler" />
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
</startup>
<ApplicationConfiguration/>
<DatabaseConfiguration>
<add key="UserID" value="user"/>
<add key="Password" value="pwd"/>
</DatabaseConfiguration>
</configuration>
Он отлично работает в моем проекте, но проблема с project.test.Я пытаюсь скопировать app.config в тестовом проекте (и в свойствах выбрать «всегда копировать»), но это ничего не меняет.Файл App.config существует в Bin / Debug тестового проекта, но для теста он не существует.
Поэтому я попытался добавить элементы в App.config на лету.Это работает хорошо, добавляя новый ключ в раздел AppSettings в Configuration Manager:
ConfigurationManager.AppSettings.Set("UserID ", " user ");
Но я застрял, когда хочу использовать разделы;Я не могу добавить раздел на лету в ConfigurationManager.Вот где я:
System.Configuration.Configuration tempConfig = (System.Configuration.Configuration) ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
dbConfig = new NameValueCollection();
dbConfig.Add("UserID ", "user");
dbConfig.Add("Password ", "pwd");
tempConfig.Sections.Add("DatabaseConfiguration ", (ConfigurationSection) dbConfig);
У вас, ребята, есть идеи, как решить эту проблему?
Заранее спасибо!