0

次の構造の 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関数を作成して、同じキーが既に存在するかどうかを確認するように変更しましたが、機能しませんでした。

何か案は?

4

2 に答える 2

0

最初にキーを削除する必要があります。試してください

<CustomSettings>
   <remove key="testkey"/>
   <add key="testkey" dev="devkey1" prod="prodkey1"/>
</CustomSettings> 

それはトリックを行う必要があります

于 2013-04-23T17:00:18.863 に答える