Ответ 1
Я думаю, что вы просто удаляете атрибуты configSource, а затем включаете все содержимое элементов <appSettings>
и <connectionStrings>
Обновление: этот вопрос, включая название, был перефразирован, подробнее см. историю
Я знаю, что следующий файл App.config содержит внешний файл:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings configSource="appSettings.config"/>
<system.net>
<connectionManagement>
<add address="*" maxconnection="50"/>
</connectionManagement>
</system.net>
</configuration>
Но я не знаю, как переместить system.net во второй файл. На самом деле я не пробовал, но я почти уверен, что это не сработает, и я хочу знать, есть ли способ для App.config включить другой файл App.config по ссылке.
Я думаю, что вы просто удаляете атрибуты configSource, а затем включаете все содержимое элементов <appSettings>
и <connectionStrings>
Мне удалось заставить это работать с помощью configSource
<configSections>
<section name="Sites"
type="Wap.Common.Configuration.SiteHandler, Wap.Common" />
</configSections>
<Sites configSource="Sites.Prod.config" />
а затем во внешнем файле конфигурации он должен иметь тег? xml
<?xml version="1.0" encoding="utf-8" ?>
<Sites>
...
</Sites>
а затем вам нужно настроить внешний файл конфигурации, чтобы всегда копировать в выходной каталог
Нельзя размещать секцию system.net внутри appSettings.config. Стандартная практика - одна конфигурация node в дополнительном файле конфигурации. Я даже не уверен, возможно ли разделить один и тот же файл с разными узлами.
Вы должны создать другой файл с именем, возможно, system.net.config, и поместить туда все тело, полное
<system.net>
<connectionManagement>
<add address="*" maxconnection="50"/>
</connectionManagement>
</system.net>
Затем в App.config вы обновите system.net, чтобы быть
<system.net>
<connectionManagement configSource="system.net.connectionManagement.config"/>
</system.net>