Uwp 什么是AppX文件夹?

Uwp 什么是AppX文件夹?,uwp,windows-10-universal,monogame,Uwp,Windows 10 Universal,Monogame,当我的UWP应用程序构建时,它进入当前项目的输出路径。在这个文件夹中,总是有一个名为“AppX”的附加文件夹,其中包含所有内容的副本 从应用商店安装相同的应用时,没有与之关联的AppX文件夹 为什么在开发时会有这个无用的重复数据文件夹 使用Visual Studio 2015 Update 3,我们为开发人员添加了一个选项,用于指定其UWP应用程序的布局路径。这决定了在您构建应用程序时将包布局复制到磁盘上的位置。默认情况下,此属性是相对于项目的根目录设置的。如果不修改此属性,则该行为将与以前版本

当我的UWP应用程序构建时,它进入当前项目的输出路径。在这个文件夹中,总是有一个名为“AppX”的附加文件夹,其中包含所有内容的副本

从应用商店安装相同的应用时,没有与之关联的AppX文件夹

为什么在开发时会有这个无用的重复数据文件夹

使用Visual Studio 2015 Update 3,我们为开发人员添加了一个选项,用于指定其UWP应用程序的布局路径。这决定了在您构建应用程序时将包布局复制到磁盘上的位置。默认情况下,此属性是相对于项目的根目录设置的。如果不修改此属性,则该行为将与以前版本的Visual Studio保持相同

来源

部署和调试时将生成此文件夹。它实际上是应用程序的调试安装位置路径。你可以用它来测试。调试应用程序的安装位置如下所示:


D:\App170221\AppPackage\bin\x86\Debug\AppX

从应用商店下载应用程序时,该文件夹也存在。它只是隐藏得很好,c:\program files\windowsapps。存储appx包的内容,以便程序可以运行。它不是无用的。不,只有一个应用程序的副本,它的资产和内容。WindowsApps目录中没有已安装应用的AppX文件夹。这正好颠倒了我的问题。那么为什么调试目录中有重复的数据呢?为什么我的应用程序有两个副本?使用Package.Current.InstalledLocation.Path确实指向AppX,但我也可以只使用File.Exists()并冒险查找错误的位置,因为有两个。@Jarryd正如我所说的,这只是应用程序调试安装位置的路径。如果检查windows应用商店中已安装的应用程序,您会发现它们安装在
C:\Users\…\AppData\Local\Packages
中,但在visual studio中调试时,该应用程序将不会安装在那里。这就是为什么AppX文件夹存在于调试目录中。关于
File.Exists()
方法,因为uwp应用程序在沙箱中运行,所以如果像这样调用它
File.Exists(@“D:\text.txt”)
,则无论文件是否存在,它总是返回false。在UWP中,我们应该使用Windows​.用于执行文件操作的存储API。谢谢。那么AppX就是一个安装文件夹了。当应用程序打包提交时,是否涉及AppX文件夹?并且我们使用File.Exists仅在应用程序的范围内,因此保存目录和应用程序目录位于ApplicationData.Current.LocalFolder。你是说这将在开发过程中起作用,但在应用商店中失败吗?
是否涉及AppX文件夹否。
你是说这会在开发过程中起作用,但在商店中会失败吗?
也许,我没有解释清楚。我在上述评论中的意思是
Windows应用商店应用程序运行沙盒,并且对文件系统的访问非常有限。在大多数情况下,他们只能直接访问安装文件夹和应用程序数据文件夹。他们没有权限访问其他地方的文件系统
请查看Rob的博客:无论如何,你不需要关心AppX文件夹,它只是一个调试和部署文件夹。它与windows应用商店中的软件包无关。