C# - 更改应用程序文件名时设置重置

时间:2018-03-25 03:14:17

标签: c#

我在这里阅读其他问题,说明要做.Upgrade()并使用强名称,但它在我的结束时没有做出任何改变。

.Upgrade()代码:

if (Properties.Settings.Default.updateSettings) {
    Properties.Settings.Default.Upgrade();
    Properties.Settings.Default.updateSettings = false;
    Properties.Settings.Default.Save();
}

强制名称的证明:

enter image description here

然而,正如您所看到的,如果我更改文件名,它将存储设置放在其自己的目录中。

这里的问题是人们正在重命名.exe并且我的更新程序使用appName-xxxx.exe(xxxx = 1.0.0.0 for ex)将更新的.exe存储在它旁边

因此几乎总是会重命名.exe,导致每次都重置设置。

1 个答案:

答案 0 :(得分:0)

这里的答案是将设置与可执行文件分离,而不是默认框架提供的约定。要解决此问题,您必须创建与您拥有的应用程序实例完全分开的某种服务,并以这种方式管理您的设置。

另一种选择是将设置存储在数据库的表中,并将其与正在运行的应用程序实例(存储在其他地方)相关联,并使用它来检索应用程序设置。

你走哪条路取决于许多事情,只有你能够知道和最好的判断。

希望这有帮助。