堆积app.config文件,多层嵌套似乎不起作用

本文关键字:嵌套 不起作用 app config 文件 堆积 | 更新日期: 2023-09-27 18:13:22

我想以类似的方式堆叠app.config文件。

我真的很想进入下面的层次结构

   machine.config (nice and clean no extra config)
       Environment config (in source control shared by everyone)
           app.config/web.config (config at a non-environmental application level)
               Developers hack config (overrides all the things)

我对fileconfigSource属性的部分继承有了一些了解(参见:ASP。网网络。config: configSource vs. file attributes)

然而,我似乎找不到任何方法来堆叠这些超过一层深,例如

static void Main(string[] args)
{
    Console.WriteLine("Setting1: {0}", ConfigurationManager.AppSettings["setting1"]);
    Console.WriteLine("Setting2: {0}", ConfigurationManager.AppSettings["setting2"]);
    Console.WriteLine("Setting3: {0}", ConfigurationManager.AppSettings["setting3"]);
}

app.config

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <appSettings file="tier1.config">
        <add key="setting1" value="yay"/>
    </appSettings>
</configuration>

tier1.config

<?xml version="1.0" encoding="utf-8" ?>
<!--appSettings file="tier2.config"--><!-- using this gives the following: Unrecognized attribute 'file'. Note that attribute names are case-sensitive. -->
<appSettings>
    <add key="setting2" value="yay"/>
</appSettings>

tier2.config

<?xml version="1.0" encoding="utf-8" ?>
<appSettings>
    <add key="setting3" value="yay"/>
</appSettings>

是否有一种方法使用文件属性或其他东西来获得配置继承的多个级别(超过2)?

堆积app.config文件,多层嵌套似乎不起作用

您可以使用Slowcheetah。

http://visualstudiogallery.msdn.microsoft.com/69023d00-a4f9-4a34-a6cd-7e854ba318b5