gpt4 book ai didi

.net - 如何使用 .NET 配置文件(app.config、settings.settings)来保存和恢复所有应用程序数据?

转载 作者:行者123 更新时间:2023-12-04 11:32:21 29 4
gpt4 key购买 nike

尽管有很多关于 .net 配置文件的帖子,但我相信我的要求不允许提出任何解决方案(或者我对流程的理解不足以使其对我有用)。

情况是我有一个 Windows Forms 应用程序(也可以是另一个应用程序),它将某些用户输入字段(例如 IP 地址)以及表单属性(窗口大小等)绑定(bind)到应用程序设置(在 Properties->设置区域)。据我了解,这些设置与我项目的 app.config 文件中表示的设置相同,因此我应该能够使用 System.Configuration.ConfigurationManager 类来操作这些设置。

我想要做的是允许用户导出和导入所有保存的设置。与其对某些自定义对象进行序列化或使用 INI 文件,我认为只保存和替换应用程序使用的配置文件会更容易。

将当前设置保存到指定文件相对容易:

internal static void Export(string settingsFilePath)
{
var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal);
config.SaveAs(settingsFilePath);
}

但是,恢复配置文件以覆盖当前设置被证明是困难的。好像我可以像这样打开配置文件
var newConfig = ConfigurationManager.OpenExeConfiguration(settingsFilePath)

但我看不到如何将当前配置中的所有设置完全替换为导入文件的设置。 [编辑:这个重载应该接收 .exe 的路径,而不是 .config 文件。如果调用代码未引用配置文件中的相同程序集,则以这种方式打开 exe 文件可能会引发 ConfigurationErrorsException。]

也许我只需要使用 other posts 中列出的方法即可只替换配置的一部分,而不是全部,但我不知道此时它将如何工作。

有任何想法吗?我是否走在正确的轨道上,还是应该只使用 INI 文件(或其他文件)?

最佳答案

最好不要写入 app.config,而是使用设置文件来保存已修改的用户设置。 app.config 和 web.config 只能用于只读值。

关于.net - 如何使用 .NET 配置文件(app.config、settings.settings)来保存和恢复所有应用程序数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1869628/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com