【问题标题】:.NET ApplicationSettingsBase Should I call Upgrade() every time I load?.NET ApplicationSettingsBase 每次加载时我应该调用 Upgrade() 吗?
【发布时间】:2010-08-17 00:51:16
【问题描述】:

我们有来自ApplicationSettingsBase 的应用程序设置。当我们推送应用的新版本时,我们需要调用:

  //
  // Summary:
  //     Updates application settings to reflect a more recent installation of the
  //     application.
  public virtual void Upgrade();

(来自元数据)

现在有一些棘手的方法可以确定您的设置是否需要升级,例如this post,在我看来,这似乎只升级您的设置一次。现在我可以将我的应用程序的当前版本存储在设置中,并在我实例化设置时进行比较,如果它与当前版本不同,那么我可以升级。

我的问题是为什么不每次实例化设置时都调用Upgrade()?这样我就知道我永远不会过时。

【问题讨论】:

  • 链接失效了
  • 我从网络存档中找到了一个缓存副本,因此将链接更改为该副本。

标签: c# .net upgrade application-settings applicationsettingsbase


【解决方案1】:

链接帖子中描述的方法确实有效。我自己也用过这种方法。当您的应用程序版本更改时,设置将重置为默认值,UpdateRequired 属性将为 true

所以不,您不必每次启动应用时都调用Upgrade

【讨论】:

  • 当然!安装新版本时,将创建新版本的设置。我在想旧版本会被实例化,然后升级到新设置,而实际上新设置会导入旧设置。
猜你喜欢
  • 2010-10-23
  • 1970-01-01
  • 1970-01-01
  • 2016-07-06
  • 1970-01-01
  • 2011-11-23
  • 2015-03-28
  • 2014-11-21
  • 1970-01-01
相关资源
最近更新 更多