C#设置从.exe.config加载但保存到user.config

时间:2016-04-20 03:44:16

标签: c# settings.settings

由于某些原因,当我的应用程序加载时,它会从应用程序路径中的programname.exe.config读取设置,但是当我调用Properties.Settings.Default.Save()时,设置将保存在Appdata / local / program / version中/user.config
如何从user.config加载我的应用程序?

如果删除programname.exe.config,则下次运行程序时会重新生成。

settings

programname.exe.config and user.config

2 个答案:

答案 0 :(得分:1)

这是合法行为。 User设置特定于用户,因此保存在用户个人资料中。想象一下,用户为他定制了一些设置,并且被其他用户覆盖。它肯定不是一个好的用户体验。

加载用户设置将是相同的。

例如,您有一个名为UserSetting的{​​{1}},您可以将此设置视为 -

quality

...您可以修改此值并保存新设置,如 -

var qualitySettingValue = Properties.Settings.Default.quality;

现在下次当你读到这个值时 -

Properties.Settings.Default["quality"] = "New Quality Settings";
Properties.Settings.Default.Save();

qualitySettingValue将具有更新值 -

另一方面,

var qualitySettingValue = Properties.Settings.Default.quality; 级别设置对所有用户都是通用的,将保存在Application文件中。

答案 1 :(得分:0)

你需要这样做,

Properties.Settings.Default.Upgrade()
保存之前