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

时间:2009-01-28 15:15:25

标签: .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>

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

3 个答案:

答案 0 :(得分:10)

我能够使用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>

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

答案 1 :(得分:6)

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

您应该创建另一个名为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>

答案 2 :(得分:0)

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