UWP中的应用程序数据版本
我有一个空白的UWP应用程序,我在ApplicationData中写了一些设置,当我增加我的包版本时,我的ApplicationData版本没有改变。 另一个问题是,当我使用SetVersionAsync方法设置AppData版本时,在我从myAppData读取设置之后,它会读取最新的设置,而我希望不会读取最新的设置,因为版本不同。UWP中的应用程序数据版本,uwp,Uwp,我有一个空白的UWP应用程序,我在ApplicationData中写了一些设置,当我增加我的包版本时,我的ApplicationData版本没有改变。 另一个问题是,当我使用SetVersionAsync方法设置AppData版本时,在我从myAppData读取设置之后,它会读取最新的设置,而我希望不会读取最新的设置,因为版本不同。 有人能告诉我为什么吗?我认为您没有正确地进行应用程序数据版本控制。包版本和应用程序数据版本之间没有直接关联。应用程序数据版本控制的要点是允许在应用程序版本之间更改应
有人能告诉我为什么吗?我认为您没有正确地进行应用程序数据版本控制。包版本和应用程序数据版本之间没有直接关联。应用程序数据版本控制的要点是允许在应用程序版本之间更改应用程序数据的格式 这是典型的情况:
0
。您可以一直这样做,直到需要更改正在保存的数据的格式为止ApplicationData.Version
的值。如果其值为0
,则将使用旧代码加载数据。完成后,将调用ApplicationData.SetVersionAsync
,将版本设置为1
,并根据新格式将加载的数据保存在处理程序中。下次加载应用程序时,应用程序数据版本将为1
,您将使用新代码加载它ApplicationData.SetVersionAsync
这个API没有很好的文档记录,表面上看起来设计得很糟糕。首先,为什么需要将版本设置为具有处理程序的异步操作?谁给处理者打电话,什么时候?每当保存设置时,ApplicationData是否会调用它?其次,假设版本0设置包含序列化类,这些类在版本1中已更改。如何反序列化版本0类,以便将它们转换为版本1?您是否必须编写自定义反序列化程序或包含旧类反序列化目的?