.net 通过合并两个配置文件来创建System.Configuration.Configuration?

.net 通过合并两个配置文件来创建System.Configuration.Configuration?,.net,configuration,web-config,app-config,.net,Configuration,Web Config,App Config,我有两个.config文件,我需要一个在它们之间部分合并的 我可以将文件读取为XML并轻松创建所需的合并,但它是一个字符串或XDocument。然而,.net的System.Configuration似乎是严格基于文件的,所以我必须将其写入一个临时目录,我希望避免这样做 有办法吗 例如,config1.config: <configuration> <appSettings> <add key="CacheTime" value="300"

我有两个.config文件,我需要一个在它们之间部分合并的

我可以将文件读取为XML并轻松创建所需的合并,但它是一个字符串或XDocument。然而,.net的System.Configuration似乎是严格基于文件的,所以我必须将其写入一个临时目录,我希望避免这样做

有办法吗

例如,
config1.config

<configuration>
    <appSettings>
        <add key="CacheTime" value="300" />
    </appSettings>
    <system.serviceModel>
        <behaviors>
          <endpointBehaviors>
            <behavior name="MyBehavior">
               <!-- snipped -->
            </behavior>
          </endpointBehaviors>
        </behaviors>
    </system.serviceModel>
</configuration>
<configuration>
    <system.serviceModel>
     <client>
          <endpoint name="MyEndpoint" address="net.tcp://...."
            behaviorConfiguration="MyBehavior" binding="netTcpBinding"
            contract="IMyContract">
          </endpoint>
     </client>
    </system.serviceModel>
</configuration>
然后,生成的配置应该是这两者的并集,这样我就拥有了AppSetting和Endpoint。现在,这个示例包含WCF,但我并不是在寻找特定于WCF的解决方案,因为我绝对需要System.Configuration.Configuration对象


config1和config2只是示例-它们的实际组合是不确定的,我可能有config1和config4或config3和config4或config2和config3。

如果您的目标只是使配置文件更模块化(并可能保护对特定部分的文件访问),请看。

嗨,Michael。配置文件不相交?你能举一个两者的小例子吗,以及你期望的结果?我很乐意帮助您。configSource只接受一个覆盖。在这种情况下,它不会有任何好处,因为实际的配置组合是不确定的。会澄清问题的,明白了。在这种情况下,我想不出其他方法来实现这一点,除了处理XmlDocument和编写一个临时文件来加载,正如您所提到的。但我好奇地看着这一切;你永远不知道。