13

更新:这个问题,包括标题,被改写,详情见历史

我知道以下 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 文件。

4

3 回答 3

11

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

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

于 2009-01-28T23:13:02.553 回答
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>
于 2009-01-28T18:40:48.360 回答
0

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

于 2009-01-28T15:21:18.887 回答