修改appSettings“文件”;属性

本文关键字:属性 文件 appSettings 修改 | 更新日期: 2023-09-27 17:54:00

        string appConfPath = Directory.GetParent(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)).FullName;
        string fullPath = appConfPath + "''Local''RandFolder''ThisOne''application.settings.xml";
        var config =       ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

        config.AppSettings.File = fullPath;
        config.AppSettings.Settings.Add("Password", "djydyjdjtdtyjddj");
        config.Save(ConfigurationSaveMode.Modified);
        ConfigurationManager.RefreshSection("appSettings");
        var temp = config.AppSettings;

我目前正在尝试设置我的appSettings配置的"file"属性,并在运行时引用XML的包含设置。我无法在编译之前这样做,因为XML设置文件将根据本地机器设置更改。

但是,在进行上述更改之后,temp变量只包含"Password"项,并且无法检索位于包含的文件路径中的其他设置。我知道文件属性正在设置,但由于某种原因,引用的设置仍然隐藏。application.settings.xml文件如下所示:

<?xml version="1.0" encoding="utf-8"?>
<appSettings>
  <add key="ServerLocation" />
  <add key="PerforceURI" value="yuhsgbyluvgblsg" />
</appSettings>

任何帮助都非常感谢!

修改appSettings“文件”;属性

我不会试图批评你正在做的事情,而是为你所看到的提供一个简单的解释。

ConfigurationManager.RefreshSection刷新static ConfigurationManager使用的Configuration实例中的section。它不会影响通过调用OpenExeConfiguration创建的Configuration实例;要做到这一点,你需要再次调用OpenExeConfiguration