因此,经过大量时间尝试在线解决方案并询问同事后,我终于找到了我的Settings.settings无法保护我在程序中配置的设置的原因:
当我将AssemblyVersion
中的AssemblyFileVersion
和AssemblyInfo.cs
从1.0.0.0更改为2.0.0.0时(因为它是程序的秒版本 - 我在MVVM中重写了它从多年前制作的旧版本开始,它创建了一个新文件夹,将设置保存到 - ... \ AppData \ local \ MyProgram \ MyProgram- {UID} \ 2.0.0.0。
问题是,它仍然加载\ 1.0.0.0文件夹中的设置。
如何让它完全承诺成为2.0.0.0?这会在我的课程中花费多长时间的心理学课程,还是我能以某种方式直截了当?我真的希望我的程序最终成长为2.0.0.0。
修改:更多信息
AssemblyInfo.cs现在最后一行:
[assembly: AssemblyVersion("2.0.0.0")]
[assembly: AssemblyFileVersion("2.0.0.0")]
升级后,第二个文件夹被创建,设置将保存到其user.settings,但仍然从1.0.0.0/user.settings加载(Settings.Upgrade())。
答案 0 :(得分:1)
启动新版本的应用程序时,只需要调用Settings.Upgrade()
一次,否则您将不断覆盖旧版本的设置。
您应该在致电user.config
时在Upgrade()
中添加一个标记。