在控制檯應用程序項目中我試圖將值寫入app.config文件並永久保存,但只能將其保存在內存中。 我試過Write values in app.config file中的所有解決方案,但沒有一個適合我。如何在控制檯應用程序中將值永久寫入app.config文件?
任何想法如何做,使變化永久?
app.config文件:
<appSettings>
<add key="test" value="123456" />
</appSettings>
類有兩種方法既節約價值內存:
public static class ConfigurationHelper
{
public static void SetSetting(string key, string value)
{
Configuration configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
configuration.AppSettings.Settings[key].Value = value;
configuration.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection("appSettings");
}
public static void SetSetting2(string key, string value)
{
Configuration configuration = ConfigurationManager.
OpenExeConfiguration(Assembly.GetExecutingAssembly().Location);
configuration.AppSettings.Settings[key].Value = value;
configuration.Save();
ConfigurationManager.RefreshSection("appSettings");
}
}
簡單的測試,寫出了變化,但在重建項目或開盤的app.config在記事本中不保存更改:
[Test]
public void FirstTest()
{
Console.WriteLine("Value before: " + ConfigurationHelper.Get<string>("test"));
ConfigurationHelper.SetSetting2("test", "NewValue");
Console.WriteLine("Value after: " + ConfigurationHelper.Get<string>("test"));
}
當您重新構建應用程序時,它會將app.config從您的項目複製到您的輸出目錄中,並覆蓋它。要麼不這樣做,要麼將您寫回的更改複製到項目文件中。 –
謝謝,我想我明白了這個問題。任何想法如何將輸出文件中的更改複製回app.config文件? –