Я нашел действительно простое решение здесь :
1. Создайте файл CommonSettings.config
В вашем общем проекте библиотеки классов.
2. Укажите ваши общие настройки в этом файле:
<appSettings>
<add key="someCommonSetting" value="some value"></add>
<!-- more setting here -->
</appSettings>
Примечание: <appSetting>
должен быть корневым элементом в вашем CommonSettings.config
(не указывайте его под <configuration>
)
3. Убедитесь, что файл CommonSettings.config
скопирован в выходной каталог:

4. Во всех других файлах App.Config / Web.config проекта добавьте вышеуказанные общие настройки
Вот и все ... Общие настройки будут включены в любой другой файл конфигурации.
<appSettings file="CommonSettings.config">
<add key="Value1" value="123" />
</appSettings>
Примечание:
Чтобы этот подход работал, файл общей конфигурации должен быть скопирован в
выходной каталог проекта, так что он находится рядом с обычным
Файл приложения / Web.config. Добавьте существующий общий файл .config в
проект как связанный файл и установите его «Копировать, если новее». Тебе следует увидеть
что-то похожее на это в вашем файле .csproj:
<None Include="..\CommonConnectionStrings.config">
<Link>CommonConnectionStrings.config</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
Вы можете сделать то же самое для ConnectionString
, скопировать все строки подключения в CommonConnectionStrings.config
и в другом App.Config / Web.Config, ссылаться на него так:
<connectionStrings configSource="CommonConnectionStrings.config" />
Примечание. Если вы используете это решение для connectionStrings
, у вас не может быть строки подключения для конкретного проекта, все строки подключения будут скопированы из общей конфигурации.