StackOverflow 上有几个关于同一主题的问题,但我还没有找到解决方案。
在我的 Windows Phone 8 应用程序中,我将用户设置存储在 IsolatedStorage.ApplicationSettings
中。
这非常有效,我使用 IsolatedStorage.ApplicationSettings[key] = value
来设置我的值,当然使用 IsolatedStorage.ApplicationSettings.Save()
来保存它们。
我还使用 .sdf 文件创建了一个数据库来保存本地数据。
当我使用 VS2013(Visual Studio 2013) 中的部署
功能来更新我的应用程序时,独立存储设置将保留。
但是,当我在 VS2013 中使用Rebuild
或Clean
功能时,隔离存储将在下次部署时被鞭打!导致所有本地数据和用户设置被删除。
为什么会出现这种行为?
解决方法是不使用这些函数,我基本上可以完成从开发到部署的所有工作,而无需使用 Rebuild
或 Clean
。但是,当我(不小心)使用这些功能时,如果不清除设备上的所有本地数据,我将无法进行部署。
当我将应用程序上传到 Windows Phone Beta 商店时,也会出现此行为。 (我还没用过live store)
更新:
感谢 robwirving,我有了一些新的见解:XapDeployCmd.exe
这个工具可以在命令提示符下执行 Visual Studio 通常为您执行的所有部署任务。相关操作是 installlaunch
和 update
。
我认为当部署过程检测到项目已重建时,VS 会执行 installlaunch
操作。但是,如果我在 Visual Studio 构建的 Xap 上使用 XapDeployCmd 的 update
操作(该操作已被Cleaned
和 Rebuild
),则独立存储为没有鞭打。
Windows Phone Beta Store 是否会模仿这种行为?
最佳答案
Visual Studio 的默认行为是在检测到重建时执行全新安装而不是更新。据我所知,这是不可配置的。
但是,您可以重建然后更新 XAP,而无需通过 Visual Studio 进行部署。以下是 XapDeployCmd 的文档,XapDeployCmd 是 Windows Phone 开发工具中包含的命令行工具,允许您从命令行安装或更新 XAP。 http://msdn.microsoft.com/en-us/library/windowsphone/develop/ff402565%28v=vs.105%29.aspx
关于windows-phone-8 - 当我重建 Windows Phone 8 项目时,为什么我的isolatedStorage 会受到影响?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24676698/