2016-03-24 5 views
0

後VS2012で保存していない:コンパイル済みの.EXEから実行はのConfigurationManager私はこのような、のConfigurationManagerを使用して設定を保存し、AC#アプリケーションを持って終了

public static void SaveSetting(string key, string value) 
    { 
     var configurationFile = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); 
     configurationFile.AppSettings.Settings.Remove(key); 
     configurationFile.AppSettings.Settings.Add(key, value); 
     configurationFile.Save(ConfigurationSaveMode.Full); 
     ConfigurationManager.RefreshSection("appSettings"); 
    } 

、すべてが正常である - application_name.exe.Configが更新が含まれています設定。

VS2012がなくなり、application_name.vshost.exe.ConfigがSaveSetting()によって正しく保存されます。しかし、アプリケーションを終了すると、application_name.vshost.exe.Configは、アプリケーションを起動する前の状態に戻ります。タイムスタンプであっても、古いバージョンの設定ファイルが表示されます。

何が起こっているのですか?

答えて

0

vshost.exe.configは、デバッグ時にのみ使用します。その値を保持するためのものではありません。アプリケーションの実行を停止すると、すぐにexe.configファイルに置き換えられます。

+0

ありがとうございます!それは私がそれをやっただろう方法ではない場合でも、意味があります:) –