Допустим, у меня есть большое решение .NET, в котором есть несколько проектов доступа к данным, которые используются несколькими другими типами проектов, такими как консольное приложение и веб-приложение. Я хочу, чтобы они оба могли использовать проект доступа к данным, но приложение доступа к данным должно получить конфигурацию из своего файла конфигурации ... так что web.config для веб-проекта и app.config для консольных / служебных приложений. Это заставляет меня поддерживать конфигурацию в двух или более отдельных конфигурационных файлах, что мне не нравится. Какой лучший способ доставить их в централизованное место?
Я хочу, чтобы он по-прежнему был легким, поэтому база данных конфигурации может быть излишней. Я думаю, может быть, централизованный файл конфигурации, который копируется процессом сборки в web.config / app.config при сборке соответствующих проектов, но я хотел убедиться, что я не пропускаю еще одну лучшую практику. Я также подумал о machine.config, но я бы хотел максимально изолировать конфигурацию, чтобы не нарушить работу других приложений на данном компьютере. И, используя machine.config, мне нужно найти способ, чтобы скрипт сборки автоматически обновлял этот файл удаленно.