UWP中的ApplicationData版本

Mar*_*yam 2 uwp

我有一个空白的UWP应用程序,我在ApplicationData中写了一些设置,当我增加我的包版本时,我的applicationData版本没有改变.另一个问题是,当我使用SetVersionAsync方法设置我的AppData版本,之后我从myAppData读取设置,它会读取最新的设置,因为版本不同,我期待不读最新版本.谁能告诉我为什么?

Dam*_*Arh 7

我认为您没有正确接近应用程序数据版本.包版本和应用程序数据版本之间没有直接关联.应用程序数据版本控制的目的是允许更改您在应用程序版本之间用于应用程序数据的格式.

这是典型的情况:

  1. 在应用程序的第一个版本中,您只需将数据保存到应用程序数据中,而不关注版本.隐式地将版本设置为0.在您需要更改要保存的数据的格式之前,请继续执行此操作.
  2. 当您最终需要更改存储数据的格式时,您将开始关注应用程序数据的版本.您将首先检查值ApplicationData.Version.如果它的值是0,您将使用旧代码加载数据.完成后,您将调用ApplicationData.SetVersionAsync,将版本设置为1并根据新格式将加载的数据保存在处理程序中.下次加载应用程序时,将显示应用程序数据版本1,您将使用新代码加载它.
  3. 您将每次重复此过程,您将需要更改格式,递增应用程序数据版本(通常为1).您将始终需要支持加载所有旧版本的应用程序数据,因为用户可能最后使用任何先前版本的应用程序保存数据,最后尝试使用最新版本加载它.加载数据后,您将始终ApplicationData.SetVersionAsync使用最新的应用程序数据版本值以最新格式保存.