.net App.Config中的重复密钥不会引发异常

.net App.Config中的重复密钥不会引发异常,.net,configuration,app-config,.net,Configuration,App Config,当我在.NET 2.0控制台应用程序的app.config文件中有重复的键/值对时,我偶然发现了这一点。 令我惊讶的是,它工作正常,应用程序读取的是最新的一对。 当我试图弄清楚为什么我不能获取一个键的正确值时,我非常紧张(因为我没有意识到一个具有旧值的类似键在配置文件中的位置更低) 配置文件的示例: <?xml version="1.0" encoding="utf-8" ?> <configuration> <appSettings>

当我在.NET 2.0控制台应用程序的app.config文件中有重复的键/值对时,我偶然发现了这一点。 令我惊讶的是,它工作正常,应用程序读取的是最新的一对。 当我试图弄清楚为什么我不能获取一个键的正确值时,我非常紧张(因为我没有意识到一个具有旧值的类似键在配置文件中的位置更低)

配置文件的示例:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <appSettings>
        <add key="key1" value="val1"/>
        <add key="key1" value="val2"/>
    </appSettings>
</configuration>

我的问题是:框架通过在启动时抛出异常或者在编译时发出警告来强制执行unique key不是更好吗


注意:当然,我们不能对框架行为做太多的处理,只是想得到一些反馈。

它似乎是故意这样做的(为了支持同一个键的多个值)
这是我发现的一篇文章。

考虑到我的问题不是典型的问题,我将以此作为答案。