Я храню общие вещи, такие как строки подключения, в 1 папке, которая даже не находится в папке, где находится исходный код. На уровне DAL я просто использую ConfigurationManager, чтобы поднять его.
В проекте, который запускает приложение (в вашем случае это проект WCF), я добавляю файл «ConnectionStrings.config» из моей внешней папки «config» КАК ССЫЛКА (в Visual Studio нажмите «добавить существующий элемент» -> выберите элемент -> рядом с кнопкой «Добавить» находится стрелка, где находится этот параметр). Затем я просто устанавливаю его через свойства этого файла (щелкните файл в обозревателе решений -> нажмите F4) в качестве содержимого проекта, и его следует скопировать еще раз, если он был изменен для развертывания папки. Затем я добавляю новый файл app.config в проект, который включает в себя «ConnectionString.config».
Источник строки подключения.config:
<connectionStrings>
<add name="MyConnectionString"
connectionString="Data source=tralala"/>
</connectionStrings>
Источник app.config в проекте WCF:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings configSource="ConnectionStrings.config"></connectionStrings>
</configuration>
Я не уверен, что это лучший подход. Но пока все хорошо.