我有一个C#程序,其中包含存储在程序项目设置中的各种设置。由于它是一个命令行程序,这些设置将由用户在user.config文件中更改。我无法弄清楚如何强制它保存所有的默认值。强制所有用户设置保存
调用Properties.Settings.Default.Save();
只有当我更新程序中的属性时才起作用,这会破坏持久性设置文件的重点。
如果我运行
Properties.Settings.Default.SomeSetting = "Help";
Properties.Settings.Default.Save();
在config文件中我会看到类似
< setting name="SomeSetting" serializeAs="String">
<value>Help</value>
< /setting>
我想做什么情况是,如果配置文件不存在,创建和存储所有设置。然后用户可以根据需要更改它们。
这并没有真正回答这个问题。我会为这个问题添加更多的细节。 – MikeS159
嗯,我认为真正的答案几乎是一样的......我想这是不可能的,因为代码的设计方式并不是很容易定制。因此,如果设置不符合您的需要,您必须编写自己的系统。 – Phil1970
另一种可能是使用'PropertyGrid'来允许用户从应用程序内部编辑设置。这样,你会看到所有的属性,如果甚至会比直接编辑文件更方便用户使用。 – Phil1970