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