Я создаю небольшое консольное приложение, которое создает индекс Lucene из базы данных Sql.
Это приложение будет запущено с одним параметром. Этот параметр определяет, какую строку подключения он будет использовать и где должен быть размещен файл назначения.
Я хотел бы сохранить строки подключения и целевые пути в файле app.config.
Можно ли как-то сгруппировать настройки? Например, я хотел бы, чтобы, если задан параметр «ABC», использовалась connectionstring1 и targetPathBanana.
Этот следующий пример не работает, но я думаю, что иллюстрирует мое намерение
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<abc>
<appSettings>
<add key="targetBasePath" value="\\Thor\lucene\abc"/>
</appSettings>
<connectionStrings>
<add name="commonString"
connectionString="Data Source=thor;Persist Security Info=True;User ID=****;Password=****"/>
</connectionStrings>
</abc>
<123>
<appSettings>
<add key="targetBasePath" value="\\Loki\temp\lucene"/>
</appSettings>
<connectionStrings>
<add name="commonString"
connectionString="Data Source=helga;Persist Security Info=True;User ID=****;Password=****"/>
</connectionStrings>
</123>
</configuration>
Я знаю, что мог бы просто сделать так, чтобы имена ключей соответствовали соглашению об именах, но мне любопытно, можно ли решить эту проблему менее основанным на соглашениях.