Повторяющиеся ключи в App.Config не выдают исключение - PullRequest
2 голосов
/ 12 сентября 2009

Я обнаружил это случайно, когда у меня в файле 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>

Мой вопрос: не лучше ли, чтобы среда использовала уникальный ключ, создавая исключение во время запуска или, возможно, предупреждение во время компиляции?

Примечание. Конечно, мы ничего не можем поделать с поведением фреймворка, просто хотим получить отзывы.

1 Ответ

4 голосов
/ 12 сентября 2009

Кажется, что он ведет себя так намеренно (для поддержки нескольких значений для одного и того же ключа) Вот статья , которую я нашел.

...