【发布时间】:2013-06-10 14:05:25
【问题描述】:
我知道这里已经有关于堆栈溢出的类似问题,并且在提出这个问题之前我已经探索过这些问题。
我有一个 C# 程序,我存储了大约 7 个字符串设置。 该程序可以很好地保存设置 - 您可以根据自己的喜好打开和关闭应用程序。但是,当您重新启动操作系统,或注销并重新登录,然后重新启动程序时,所有设置都消失了。
这不仅限于我的环境,我已经在 3 台不同的机器上进行了测试,但仍然遇到相同的错误。
我在 stackoverflow 上探讨了我的问题; Why are persisted user settings not loaded?
我也尝试了Properties.Settings.Default.Upgrade();,但这也不能解决我的问题。
有没有人知道我哪里出错了?
【问题讨论】:
-
你需要提供更多信息——当你的程序开始读取设置时你到底做了什么?文件夹 Users/
/AppData/Local/ 和它的子文件夹在重启后会保留在那里还是消失? -
文件和文件夹保留在那里。美好的。当程序在代码中启动时,每个设置都会被调用,例如 string mailaddress = Properties.Settings.Default.emailAddress;
-
你如何运行你的程序?您是从磁盘还是从 Visual Studio 启动编译后的 exe?
-
它是一个编译好的 exe,一旦发布者内置到 VS2012 中,点击即可发布
-
我想到的另一件事-如果您保存设置并在重新启动后“丢失”它们-值保留在 user.config 文件中,对吗?如果您在重新启动后启动应用程序并重新保存设置会发生什么情况,它们是写入相同的 xml 文件替换旧值还是创建了新的 user.config?