【发布时间】:2023-04-29 01:48:01
【问题描述】:
我有一个小程序,我在其中将粘贴的内容从 A 复制到 PC 上的 B。目录路径写在配置中,当我(在应用程序中)更改文本框中的目录时,它正在更新配置文件。我检查了它,该值立即在适当的键处重写。当我关闭应用程序并重新打开它时,它会更新到先前更改的目录路径,但我不想关闭应用程序并重新打开它。我有一个组合框,我希望它在组合框重新选择事件触发后立即更新。但是在运行时(尽管它已经在配置中更改)它不会更新应用程序中显示的目录路径。
我通读并尝试了我在网上找到的所有内容,遗憾的是没有任何帮助。不是每一种
ConfigurationManager.RefreshSection("appSettings");
这是我的配置:
<appSettings file="">
<clear />
<add key="SourcepathClient" value="D:\xxx" />
<add key="SourcepathWin32" value="D:\xxx" />
<add key="DestinationpathUpdatePackages" value="D:\xxx" />
<add key="DestinationpathClient" value="D:\xxx" />
<add key="5_9_0-DestinationpathClient" value="D:\xxxt" />
<add key="5_9_0-DestinationpathUpdatePackages" value="D:\xxx" />
<add key="5_9_1-DestinationpathClient" value="D:\xxx" />
<add key="5_9_1-DestinationpathUpdatePackages" value="D:xxx" />
<add key="5_9_2-DestinationpathClient" value="D:\xxx" />
<add key="5_9_2-DestinationpathUpdatePackages" value="D:\xxx" />
</appSettings>
这是代码:
Configuration config = ConfigurationManager.OpenExeConfiguration(System.IO.Path.Combine(Directory.GetCurrentDirectory(), "UpdatePackager.exe"));
config.AppSettings.Settings[ComboBoxVersion.Text + "-DestinationpathClient"].Value = TextBoxDestinationpathClient.Text;
config.AppSettings.Settings[ComboBoxVersion.Text + "-DestinationpathUpdatePackages"].Value = TextBoxDestinationpathUpdatePackage.Text;
config.AppSettings.SectionInformation.ForceSave = true;
config.Save(ConfigurationSaveMode.Full);
ConfigurationManager.RefreshSection("appSettings");
我希望有人可以帮助我。 问候
【问题讨论】:
-
也许可以尝试编写自己的配置 xml 文件?
标签: c# directory app-config updating