2017-08-14 13 views
0

私はこのコードを継承しましたフォームConfigurationManagerを使用してカスタム構成セクションを変更できますか?

<?xml version="1.0" encoding="utf-8"?> 
<Custom.Config> 
    <add key="foo" value="bar" /> 
</Custom.Config> 

のカスタム設定ファイルCustom.configでフォームのApp.config

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <configSections> 
     <section name="Custom.Config" type="System.Configuration.DictionarySectionHandler, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> 
    </configSections> 

    <kCura.Config configSource="Custom.config" /> 
</configuration> 

を持っており、これに関連する既存のConfigurationSectionまたはConfigurationSectionHandlerありませんCustom.Configセクション。

私は

DirectCast(System.Configuration.ConfigurationManager.GetSection("Custom.Config"), System.Collections.IDictionary) 

でうまくfooの値にアクセスすることができます。しかし、今、私はプログラム的に(テスト目的のために)、更新にするために、この値をしたいと思います。 これは可能ですか?

私は以下を読みましたが、私はまだ困惑しています。あなたはその後、

+0

ソースの値を更新して保存する方法はありません。デプロイメントの設定方法によっては、その段階でこれらの値を上書きすることができます。 Octopusのようなツールは、変換を使用してこれを行います。 – nurdyguy

答えて

0

あなたはXDocumentを使用してディスク上のCustom.configファイルを変更する必要があります:彼らは、この名前空間には値だけではなく、完全なCRUDを読み取るためにしていることを暗示しているようですConfigurationManagerRefreshSectionに電話する必要があります

これは名前付きセクションを次にリフレッシュし、次回の読み込み時に再読み込みされますディスクから。

+0

ShockedこれはSystem.Configuration名前空間内の焼き付けられた機能ではありませんが、これは私が当面は解決したものです。 – Matt

+0

機能テスト/受験テストを書く前に私は手で巻きました。 –

関連する問題