2012-01-12 6 views
8

マイApp.Configのようなものである値を保存していませんそれ。私は例外がありません。 これを修正するにはどうすればよいですか?前もって感謝します!最初の古い値を削除してからのapp.configは

config.AppSettings.Settings.Remove("foo"); 
config.AppSettings.Settings.Add("foo", value); 
config.Save(ConfigurationSaveMode.Modified); 
+0

は完全な例[ConfigurationManager.OpenExeConfiguration方法(ConfigurationUserLevel)](http://msdn.microsoft.com/en-us/library/ms134265です。 aspx) –

答えて

26

Visual Studioでデバッグしているときは、おそらく<yourexe>.exe.configではなく<yourexe>.vshost.exe.configが変更されています。リリースモードでアプリケーションをビルドすると、<yourexe>.exe.configのみが存在し、更新されます。

コードでは、設定ファイルに余分なノードも追加されます。設定を更新するには、以下のようなコードを使用してください:ここでは

var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); 
config.AppSettings.Settings["foo"].Value = "text";  
config.Save(ConfigurationSaveMode.Modified); 
+0

お返事ありがとうございました!うまくいった。 :) – Jack

0

してみてください。これは、実行時にロードされて保存される実際の構成ファイルです。

あなたの出力フォルダを見れば、設定ファイルに変更が含まれている可能性があります。

+1

私のために働いていない。 – Jack

3

のApp.configが<yourexe>.exe.configという名前のビルドの出力フォルダにコピーされ、再びそれを追加することにより

+2

は私が見ているところです。変更はありません。 – Jack