首页 >后端开发 >C++ >为什么使用 ConfigurationManager.AppSettings.Set 更改 App.Config 值不会保留更改?

为什么使用 ConfigurationManager.AppSettings.Set 更改 App.Config 值不会保留更改?

Linda Hamilton
Linda Hamilton原创
2025-01-03 10:47:41926浏览

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