Я полностью переписал одно из моих приложений Windows Phone 8. Я использую IsolStorageSettings для хранения заданных пользователем параметров в "старых" и "новых" версиях моего приложения. В моей новой версии приложения я просто конвертирую старую структуру настроек в новую.
Теперь я хочу проверить пример обновления приложения. До сих пор я пробовал следующее.
- Создайте "старые" и "новые" файлы xap с помощью VS (одинакового идентификатора приложения и идентификатора издателя).
- Установите старый xap с помощью WP Power Tools
- Сохраните некоторые настройки в приложении, проверьте с помощью WP Power Tools, что настройки сохранены в __ApplicationSettings
- Обновить файл приложения xap с помощью WP Power Tools
- Убедитесь, что __ApplicationSettings все еще существует со "старыми" данными
- Запустите новое приложение, __ApplicationSettings теперь пуст и все старые данные исчезли.
Что я делаю неправильно? Хо, я должен проверить пример обновления приложения и как сохранить старые __ApplicationSettings?
Есть ли какой-то идентификатор (?), который теперь отличается от моего старого и нового приложения, и платформа думает, что старый __ApplicationSettings не принадлежит к новой версии и удаляет ее? Я использую совершенно новое пространство имен в своем новом приложении.
UPDATE
Я все еще борюсь с этой проблемой, как сохранить старые изолированные настройки хранилища (__ApplicationSettings). В самом файле есть ссылки на мое пространство имен приложений. Например, я сохранил коллекцию MyCollectionItem, в строке __ApplicationSettings найду строку:
System.Collections.Generic.List`1 [[MyOldApp.MyModels.MyCollectionItem, MyOldApp, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = null]], mscorlib, Версия = 4.0.0.0, Культура = нейтраль, PublicKeyToken = xxxxxxxxx
Теперь, когда мое новое приложение использует полностью новое пространство имен, это не работает?
Также я заметил, что когда я впервые сохранил что-то в IsolStorageSettings с моим новым приложением, старые настройки (__ApplicationSettings) стираются.
Любая идея, как переносить свойство IsolatedStorageSettings из старого приложения в новое, поскольку в основном мое новое приложение - совершенно новое приложение.