Я обнаружил это случайно, когда у меня в файле app.config есть дублирующиеся пары ключ / значение для консольного приложения .NET 2.0.
К моему удивлению, это работает, и приложение читает последнюю пару.
Я дергал себя за волосы, пытаясь понять, почему я не могу получить правильное значение ключа (потому что я не понял, что аналогичный ключ со старым значением был ниже в файле конфигурации).
Пример файла конфигурации:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="key1" value="val1"/>
<add key="key1" value="val2"/>
</appSettings>
</configuration>
Мой вопрос: не лучше ли, чтобы среда использовала уникальный ключ, создавая исключение во время запуска или, возможно, предупреждение во время компиляции?
Примечание. Конечно, мы ничего не можем поделать с поведением фреймворка, просто хотим получить отзывы.