LocalFileSettingsProvider.Upgrade 方法

定义

尝试从相同应用程序的早期版本迁移以前的用户范围设置。

public:
 virtual void Upgrade(System::Configuration::SettingsContext ^ context, System::Configuration::SettingsPropertyCollection ^ properties);
public void Upgrade (System.Configuration.SettingsContext context, System.Configuration.SettingsPropertyCollection properties);
abstract member Upgrade : System.Configuration.SettingsContext * System.Configuration.SettingsPropertyCollection -> unit
override this.Upgrade : System.Configuration.SettingsContext * System.Configuration.SettingsPropertyCollection -> unit
Public Sub Upgrade (context As SettingsContext, properties As SettingsPropertyCollection)

参数

context
SettingsContext

描述当前应用程序用法的 SettingsContext

properties
SettingsPropertyCollection

一个包含设置属性组(将要检索该组中的值)的 SettingsPropertyCollection

实现

例外

遇到了用户范围的设置,但是当前的配置仅支持应用程序范围的设置。

- 或 -

未能访问早期版本的配置文件。

注解

LocalFileSettingsProvider 在单独的操作中迁移本地和漫游设置。

对于 Upgrade 应用的每个应用程序设置 NoSettingsVersionUpgradeAttribute 或派生自 ApplicationSettingsBase的整个设置包装类,将禁止使用 方法。

此方法的调用方式取决于正在升级的应用程序的类型:

  • 每个版本的 ClickOnce 应用程序都存储在其自己的独立安装目录中。 安装新版本的 ClickOnce 应用程序后,首次运行新版本后,内部逻辑将自动调用 Upgrade 以将所有常见应用程序设置迁移到新版本。 有关详细信息,请参阅 ClickOnce 和应用程序设置

  • 标准Windows 窗体和控制台应用程序必须手动调用 Upgrade,因为没有常规的自动方法来确定何时首次运行此类应用程序。 实现此目的的两种常见方法是通过安装程序或使用应用程序本身,使用持久化属性(通常命名为 类似 IsFirstRun)。

请注意,若要迁移较新版本的应用程序设置,它还必须能够加载和读取较旧版本的应用程序设置。 因此,它必须包含与应用程序的新版本和以前版本兼容的包装类。

适用于

另请参阅