首页 文章

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

提问于
浏览
1

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

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

  • 未选中"Uninstall and then re-install my package."的复选框 .

  • 选中"Keep all files on device - even those that are no longer a part of your layout"的复选框 .

这些文件是由应用程序本身编写的,因此在首次部署时没有任何内容 . 但是在部署之间我希望它们持久化(包含配置样式数据) . “部署”是指在Visual Studio中按F5并部署到远程机器(Pi) .

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

1 回答

  • 1

    这是一个非常好的捕获 .

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

    • 如果在调试之前"Layout Folder Path"中存在vsappxrecipe文件,则将保留本地应用程序文件夹数据 .

    • 否则,将删除您的本地应用程序文件夹数据 .

    因此,现在的解决方法是手动制作vsappxrecipe的副本,并在调试之前始终将其复制到布局文件夹路径 .

    我尝试在Build Event命令行中执行此操作,包括Pre-build或Post-build事件,

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

    但是,它并不总是有效,因为如果您的项目是最新的,则根本不会触发构建事件 .

相关问题