有没有办法让App.config文件引用另一个完整的配置文件?(.净)

Jad*_*ias 12 .net app-config

更新:这个问题,包括标题,被重新定义,详见历史

我知道以下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>
Run Code Online (Sandbox Code Playgroud)

但我不知道如何将system.net移动到第二个文件.实际上我没有尝试过,但我几乎肯定它不会工作,我想知道App.config是否有办法通过引用包含另一个App.config文件.

Nic*_*ick 10

我能够使用configSource来实现这一点

<configSections>
    <section name="Sites"
             type="Wap.Common.Configuration.SiteHandler, Wap.Common" />
</configSections>

<Sites configSource="Sites.Prod.config" />
Run Code Online (Sandbox Code Playgroud)

然后在外部配置文件中,它需要有?xml标记

<?xml version="1.0" encoding="utf-8" ?>
<Sites>
...
</Sites>
Run Code Online (Sandbox Code Playgroud)

然后您需要设置外部配置文件以始终复制到输出目录


Chr*_*sic 6

您不应该将system.net部分放在appSettings.config中.标准做法是子配置文件中的一个配置节点.我甚至不确定是否可以与不同的节点共享同一个文件.

您应该创建另一个名为system.net.config的文件,并将整个主体放在那里,完整

  <system.net>
    <connectionManagement>
      <add address="*" maxconnection="50"/>
    </connectionManagement>
  </system.net>
Run Code Online (Sandbox Code Playgroud)

然后在App.config中,您将更新system.net

  <system.net>
    <connectionManagement configSource="system.net.connectionManagement.config"/>
  </system.net>
Run Code Online (Sandbox Code Playgroud)

  • `system.net`不能声明`configSource`. (2认同)

Mes*_*esh 0

<appSettings>我认为您只需删除 configSource 属性,然后包含和<connectionStrings>元素中的所有内容