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

Windows IoT UWP部署是否卸载我的应用?,uwp,windows-10-iot-core,Uwp,Windows 10 Iot Core,我有一个UWP应用程序,部署到运行在Raspberry Pi上的Windows 10 IoT上。这过去运行得很好,但最近几天(可能在更新某些内容之后),后续部署将清除LocalState文件夹中的所有文件。实际上,所有文件似乎都被清除了 我检查了项目设置(尽管那里没有任何更改,但正常),并验证了以下内容: 未选中“卸载然后重新安装我的软件包”复选框 选中“保留设备上的所有文件-即使这些文件不再是布局的一部分”复选框 这些文件是由应用程序本身编写的,所以在第一次部署时什么都没有。但在部署之间,

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

我检查了项目设置(尽管那里没有任何更改,但正常),并验证了以下内容:

  • 未选中“卸载然后重新安装我的软件包”复选框
  • 选中“保留设备上的所有文件-即使这些文件不再是布局的一部分”复选框
这些文件是由应用程序本身编写的,所以在第一次部署时什么都没有。但在部署之间,我希望它们保持不变(包含配置样式数据)。对于“部署”,我的意思是在VisualStudio中按F5并部署到远程机器(Pi)


这可能有点愚蠢,但我不明白为什么它会这样做。

这是一个很好的发现

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

  • 如果调试前vs.appxrecipe文件存在于“布局文件夹路径”中,则本地应用程序文件夹数据将被持久化
  • 否则,本地应用程序文件夹数据将被删除
  • 因此,目前的一种解决方法是手动创建vs.appxrecipe的副本,并在调试之前始终将其复制到布局文件夹路径

    我试着在构建事件命令行中,无论是预构建还是后构建事件

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

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

    谢谢,我们将尝试这种解决方法。你是MSFT方面的人吗?好的:)省去了我在某处归档bug的麻烦(除非你想让我这么做)。奇怪的是,我尝试了build命令,但失败了,它说找不到该文件。我检查过了,我的项目的x86和x64构建文件夹中只有一个vs.appxrecipe文件。ARM one(部署到Pi)不包含相同的文件。同样奇怪的是:当发生这种情况时,我手动重新创建文件,然后我可以在不删除文件的情况下进行1次部署。不过,下一次部署将再次删除它。@Jasper,是的,该文件可能在某个部署过程中被删除。我发现,如果在调试之前将文件准备就绪,应用程序文件夹数据将被持久化。