2014-07-10 26 views
2

关于同一主题,有几个关于StackOverflow的问题,但我还没有找到解决方案。为什么当我重建Windows Phone 8项目时,我的IsolatedStorage会变成whiped?

在我的Windows Phone 8应用我存储在IsolatedStorage.ApplicationSettings用户设置。 这很好,我用IsolatedStorage.ApplicationSettings[key] = value来设置我的价值,当然使用IsolatedStorage.ApplicationSettings.Save()来保存它们。 我还创建了一个使用.sdf文件保存本地数据的数据库。

当我使用VS2013的Deploy功能(Visual Studio的2013年)来更新我的应用程序,独立存储的设置将保持不变。

但是,当我使用VS2013中的RebuildClean函数时,隔离的存储将在下一次部署时变为空白!导致删除所有本地数据和用户设置。

为什么会出现这种情况?

解决方法是不使用这些功能,我基本上可以在不使用RebuildClean的情况下从开发到部署完成所有工作。但是,当我意外地使用这些功能时,如果不清除设备上的所有本地数据,就无法进行部署。

当我将我的应用程序上传到Windows Phone Beta Store时,也会发生此行为。 (我没有使用过住的店里还)

UPDATE:

感谢robwirving我有一些新的见解:XapDeployCmd.exe

这是一个可以执行所有部署任务即Visual Studio中正常的工具在命令提示符下为你做。相关操作是installlaunchupdate

我认为,当部署过程检测项目已重建VS执行installlaunch行动。但是,如果我用update行动XapDeployCmd在XAP构建由Visual Studio,这一直CleanedRebuild,隔离的存储不是whiped。

难道Windows Phone Beta Store会模仿这种行为吗?

回答

2

Visual Studio中的默认行为是做当它检测到重建一个全新安装,而不是更新。据我所知这是不可配置的。

但是,您可以重建并更新您的XAP,而无需通过Visual Studio进行部署。以下是Windows Phone开发工具中包含的命令行工具XapDeployCmd的文档,它允许您从命令行安装或更新XAP。 http://msdn.microsoft.com/en-us/library/windowsphone/develop/ff402565%28v=vs.105%29.aspx

+0

感谢您的回复!但是我的主要问题是当我的测试人员在重建项目时从Beta版商店下载应用程序时,孤立存储空间被截断。我也尝试过使用XapDeployCmd,这让我深入了解Visual Studio如何执行更新!我用这种新的见解更新了我的问题。 –

+0

这很有趣。我不希望测试版商店在发布完整/重建版xap之后擦除存储空间。我将自己创建一个测试应用程序,并尝试进一步调查。 – robwirving

+0

你有没有得到任何结果Robwirving? –

1

当您执行Clean解决方案Visual Studio的清理相关链接到.dlls和其他linked data到项目相关的所有数据和所有。它用作清理所有生成的文件和数据,因此最终会丢失本地数据。

Rebuild解决方案Visual Studio中的案例Regenerates文件和数据使用的是与解决方案,以便在再生您data和链接的过程.dlls也得到清除,并为该项目新的解决方案创建的,因此在这里你还损失您的数据

总之,Clean的过程清理整个解决方案的链接和数据,而Rebuild清理数据和链接后重新生成新的解决方案。

+0

这只是干净\重建的解释。无法回答任何与Windows Phone上的隔离存储有关的问题。 – robwirving

+0

感谢您的回复。然而,正如罗布所言,这并不能回答我为什么孤立存储被篡改的问题。 –

+0

正如上面提到的那样rebuild/Clean会清除包含您的应用程序的独立存储存储的所有数据 –

相关问题