首頁 >後端開發 >C++ >為什麼使用 ConfigurationManager.AppSettings.Set 更改 App.Config 值不會保留更改?

為什麼使用 ConfigurationManager.AppSettings.Set 更改 App.Config 值不會保留更改?

Linda Hamilton
Linda Hamilton原創
2025-01-03 10:47:41936瀏覽

Why Doesn't Changing App.Config Values with ConfigurationManager.AppSettings.Set Persist the Changes?

App.Config 值無法變更

App.Config 檔案是儲存設定的XML 檔案對於.NET應用程式.這些設定可以在執行時間使用 ConfigurationManager 類別存取。

一個常見問題是使用 ConfigurationManager.AppSettings.Set 對 AppSettings 部分所做的更改不會保留到實際的 App.Config檔案。這是因為 AppSettings.Set 只更改記憶體中的值,不會將它們儲存到檔案中。

要保留更改,必須使用 Configuration.Save() 明確儲存它們。以下是 C# 中的範例:

using System.Configuration;

public static class ConfigHelper
{
    public static void UpdateSetting(string key, string value)
    {
        Configuration configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
        configuration.AppSettings.Settings[key].Value = value;
        configuration.Save();
    }
}

這段程式碼不僅會更改記憶體中的值,還會將其儲存到 App.Config 檔案中。

附加說明:

  • 確保可執行檔案不是從內部執行Visual Studio 偵錯器,因為這可能會覆蓋App.Config 文件。
  • 更新的 App.Config 檔案可以在應用程式的輸出目錄中找到,其名稱為YourApplicationName.exe.config。

以上是為什麼使用 ConfigurationManager.AppSettings.Set 更改 App.Config 值不會保留更改?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn