У меня есть несколько проектов и веб-сайт в большом решении asp.net. В некоторых проектах у меня есть файл app.config, а на веб-сайте - мой web.config. В каждой конфигурации я указываю несколько общих для них вещей, например строки подключения. Есть ли способ объединить эти общие элементы в один файл конфигурации и ссылаться на него из различных проектов, которым они нужны?
Вы можете ссылаться на внешние конфигурационные файлы в любом .config (см. http://www.peterprovost.org/blog/post/External-Config-Files-in-NET.aspx).
Каждый проект имеет конфигурационный файл; эти файлы публикуются в каталог bin как [имя вывода] .config (например, MyCode.DLL, MyCode.DLL.config). Затем вы можете ссылаться на эти файлы .config из вашей основной конфигурации (web.config).
Если вы обнаружите, что ваши конфигурационные файлы не находят пути к правильному месту назначения, вы можете выполнить шаг посткомпиляции, упомянутый ChanChan.
Вы можете сделать это с помощью этапа предварительной / последующей компиляции в проекте, чтобы скопировать файл конфигурации, скажем, из каталога решения.
Несколько лет назад это решение было рекомендовано Скоттом Хансельманом.