Windows IoT UWP部署是否卸载了我的应用程序?

时间:2016-10-06 17:11:05

标签: uwp windows-10-iot-core

我有一个UWP应用程序,我部署到运行在Raspberry Pi上的Windows 10 IoT。这曾经运行良好,但最近几天(可能在更新后),后续部署将清除LocalState文件夹中的所有文件。实际上,所有文件似乎都被清除了。

我检查了项目设置(即使没有任何改变,但确定)并验证了以下内容:

  • "卸载然后重新安装我的包的复选框。"未经检查。
  • "将所有文件保留在设备上的复选框 - 即使是那些不再属于您的布局的文件"检查。

这些文件是由应用程序本身编写的,因此在首次部署时,那里什么也没有。但是在部署之间我希望它们持久化(包含配置样式数据)。使用"部署"我的意思是在Visual Studio中按F5并部署到远程机器(Pi)。

这可能是愚蠢的事情,但我无法弄清楚它为什么会这样做。

1 个答案:

答案 0 :(得分:1)

这是一个非常好的捕获。

虽然根本原因尚不清楚,但到目前为止我发现的是,

  1. 如果您在"布局文件夹路径"中存在vs.appxrecipe文件在调试之前,您的本地应用程序文件夹数据将被保留。
  2. 否则,您的本地应用程序文件夹数据将被删除。
  3. 现在的解决方法是手动制作vsappxrecipe的副本,并在调试之前将其复制到Layout Folder Path。

    我尝试在Build Event命令行中执行此操作,包括预构建或后构建事件,

    xcopy /Y "$AppxrecipeFolderPath\vs.appxrecipe" "$LocalApplicationFolder"
    

    但是,它并不总是有效,因为如果你的项目是最新的,那么构建事件根本不会被触发。