当我的 .NET 2.0 控制台应用程序的 app.config 文件中有重复的键/值对时,我偶然发现了这一点。 令我惊讶的是,它有效,并且应用程序读取了最新的一对。 当我试图弄清楚为什么我无法获取 key 的正确值时,我感到很揪心(因为我没有意识到具有旧值的类似 key 在配置文件中位于较低的位置)。
配置文件示例:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="key1" value="val1"/>
<add key="key1" value="val2"/>
</appSettings>
</configuration>
我的问题:框架通过在启动期间抛出异常或在编译期间抛出警告来强制执行唯一键不是“更好”吗?
注意:当然,我们无法对框架行为做太多事情,只是想获得一些反馈。
最佳答案
它似乎是故意这样做的(以支持同一键的多个值) Here这是我找到的一篇文章。
关于.net - App.Config 中的重复键不会引发异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1414417/