Ich habe dies zufällig entdeckt, als ich ein doppeltes Schlüssel/Wert-Paar in meiner app.config-Datei für eine .NET 2.0-Konsolenanwendung hatte. Zu meiner Überraschung funktioniert es und die App liest das letzte Paar. Ich habe mir die Haare gerauft, als ich herausfinden wollte, warum ich den richtigen Wert eines Schlüssels nicht abrufen konnte (weil ich nicht wusste, dass ein ähnlicher Schlüssel mit einem alten Wert weiter unten in der Konfigurationsdatei war).
Beispiel für die Konfigurationsdatei:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="key1" value="val1"/>
<add key="key1" value="val2"/>
</appSettings>
</configuration>
Meine Frage: Ist es nicht "besser", dass das Framework einen eindeutigen Schlüssel erzwingt, indem es beim Start eine Ausnahme oder vielleicht eine Warnung während der Kompilierung auslöst?
Anmerkung: Natürlich können wir nicht wirklich viel am Verhalten des Frameworks ändern, wir wollen nur ein paar Rückmeldungen bekommen.