从旧版本获取设置

时间:2016-06-14 21:50:01

标签: c# winforms settings.settings

我有一个Winforms应用程序,它有很多设置(.settings文件)。在.then()中保存了这些内容(据我所知),但每当我创建一个新版本并且用户运行该版本时,它会生成一个新的C:\Users\[User's username]\AppData\Local\[My program name]\[Build or something]\1.0.0.0\user.config文件夹,并以“新设置”重新开始设置。滚动以前版本的设置的最佳做法是什么?

(有些设置我希望每次运行新版本时都是“全新的”,并且我希望从上一版本中复制一些设置)

1 个答案:

答案 0 :(得分:3)

我正在使用这篇文章中描述的方法(它说Clickonce但它也适用于其他类型的应用程序):https://blogs.msdn.microsoft.com/rprabhu/2005/06/29/client-settings-faq/

问:好的,但我怎么知道什么时候打电话给升级?

答:好问题。在Clickonce中,当您安装新版本的应用程序时,ApplicationSettingsBase将检测它并在加载点设置时自动升级设置。在非Clickonce案例中,没有自动升级 - 您必须自己调用升级。以下是确定何时调用升级的一个想法:

有一个名为CallUpgrade的布尔设置,并为其指定默认值true。当您的应用启动时,您可以执行以下操作:

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

这将确保仅在部署新版本后第一次运行应用程序时调用Upgrade()。