LocalFileSettingsProvider.Upgrade(SettingsContext, SettingsPropertyCollection) Метод

Определение

Выполняет попытку переместить предыдущие параметры на уровне пользователя из предыдущих версий того же приложения.Attempts to migrate previous user-scoped settings from a previous version of the same application.

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, описывающий текущее использование приложения.A SettingsContext describing the current application usage.

properties
SettingsPropertyCollection

Объект SettingsPropertyCollection, содержащий группу свойств параметров, значения которых необходимо извлечь.A SettingsPropertyCollection containing the settings property group whose values are to be retrieved.

Реализации

Исключения

Был обнаружен параметр на уровне пользователя, но текущая конфигурация поддерживает только параметры на уровне приложения.A user-scoped setting was encountered but the current configuration only supports application-scoped settings.

- или --or-

Не удалось получить доступ к предыдущей версии файла конфигурации.The previous version of the configuration file could not be accessed.

Комментарии

LocalFileSettingsProvider переносит локальные и перемещаемые параметры в отдельные операции.LocalFileSettingsProvider migrates the local and roaming settings in separate operations.

Метод Upgrade подавляется для каждого параметра приложения, к которому применен NoSettingsVersionUpgradeAttribute, или для всего класса-оболочки параметров, производного от ApplicationSettingsBase.The Upgrade method is suppressed for every application setting that has the NoSettingsVersionUpgradeAttribute applied to it, or to the entire settings wrapper class, derived from ApplicationSettingsBase.

Таким образом, этот метод вызывается в зависимости от типа обновляемого приложения:This way this method is called depends on the type of application that is being upgraded:

  • Каждая версия ClickOnceClickOnce приложения хранится в собственном изолированном каталоге установки.Each version of a ClickOnceClickOnce application is stored in its own isolated installation directory. После установки новой версии ClickOnceClickOnce приложения и при первом запуске новой версии внутренняя логика автоматически вызывает Upgrade для переноса всех общих параметров приложения в новую версию.After a new version of a ClickOnceClickOnce application is installed, and when the new version is first run, internal logic will automatically call Upgrade to migrate all common application settings to the new version. Дополнительные сведения см. в разделе ClickOnce и параметры приложения.For more information, see ClickOnce and Application Settings.

  • Стандартные Windows Forms и консольные приложения должны вручную вызывать Upgrade, так как не существует общего, автоматического способа определения времени первого запуска такого приложения.Standard Windows Forms and console applications must manually call Upgrade, because there is not a general, automatic way to determine when such an application is first run. Это можно сделать двумя распространенными способами: из программы установки или из самого приложения с помощью постоянного свойства, которое часто называется IsFirstRun.The two common ways to do this are either from the installation program or using from the application itself, using a persisted property, often named something like IsFirstRun.

Обратите внимание, что в случае более новой версии для переноса параметров приложения она должна иметь возможность загружать и считывать более старую версию параметров приложения.Note that for the newer version to migrate application settings, it must be able to also load and read the older version of the application settings. Поэтому он должен содержать классы-оболочки, совместимые как с новой, так и с предыдущей версией приложения.Therefore, it must contain wrapper classes compatible with both the new and previous versions of the application.

Применяется к

Дополнительно