我在这里阅读其他问题,说明要做.Upgrade()
并使用强名称,但它在我的结束时没有做出任何改变。
.Upgrade()
代码:
if (Properties.Settings.Default.updateSettings) {
Properties.Settings.Default.Upgrade();
Properties.Settings.Default.updateSettings = false;
Properties.Settings.Default.Save();
}
强制名称的证明:
然而,正如您所看到的,如果我更改文件名,它将存储设置放在其自己的目录中。
这里的问题是人们正在重命名.exe并且我的更新程序使用appName-xxxx.exe(xxxx = 1.0.0.0 for ex)将更新的.exe存储在它旁边
因此几乎总是会重命名.exe,导致每次都重置设置。
答案 0 :(得分:0)
这里的答案是将设置与可执行文件分离,而不是默认框架提供的约定。要解决此问题,您必须创建与您拥有的应用程序实例完全分开的某种服务,并以这种方式管理您的设置。
另一种选择是将设置存储在数据库的表中,并将其与正在运行的应用程序实例(存储在其他地方)相关联,并使用它来检索应用程序设置。
你走哪条路取决于许多事情,只有你能够知道和最好的判断。
希望这有帮助。