次の構造の machine.config にカスタム構成セクションを保持しています。
<CustomSettings>
<add key="testkey" local="localkey1" dev="devkey" prod="prodkey"/>
</CustomSettings>
ここで、次のように app.config にオーバーライドを保存することで、同じキー設定をオーバーライドできるようにしたいと考えています。
<CustomSettings>
<add key="testkey" dev="devkey1" prod="prodkey1"/>
</CustomSettings>
コードでそれを読むと、dev="devkey1", prod="prodkey1", local="localkey1"が得られるように
問題は、カスタム構成セクションを次のように読んだときです。
CustomConfigurationSection section = ConfigurationManager.GetSection("CustomSettings") as CustomConfigurationSection;
キーが既に追加されているというエラーが表示されます。
「エントリ 'testkey' は既に追加されています。」
ConfigElementCollection.Add関数を作成して、同じキーが既に存在するかどうかを確認するように変更しましたが、機能しませんでした。
何か案は?