在 UWP 视觉工作室项目中包括外部文件夹

Including external folder in UWP visual studio project

本文关键字:包括外 文件夹 项目 UWP 视觉 工作室      更新时间:2023-10-16

我在Visual Studio(2015,c ++(中有一个UWP项目,我想包含一个资产(例如图像(的外部文件夹树,以便当我在模拟器中运行它时,这些文件是可用的(类似地,当我构建最终包时,我希望文件与包一起(。文件未修复(即我可能会在以后添加/删除文件(

在常规桌面应用程序中,我只需使用构建后步骤,并在文件夹上执行 xcopy 到目标目录。但是,这不适用于 UWP 版本。当我在模拟器中运行时,什么都没有(甚至在目标目录中(。

有没有办法添加构建步骤来复制文件(保留目录结构(,或者更好的方法来添加对项目的外部文件夹引用?

我知道我不是唯一一个这样做的人。搜索中的大多数结果都是无关紧要的,其他结果不是动态的,或者依赖于项目目录树中的文件。

在.vcxproj文件中使用AppxPackagePayload元素:

<AppxPackagePayload Include="PathToYourImage.jpg">
<TargetPath>SubfolderInPackageFileName.jpg</TargetPath>
</AppxPackagePayload>

不幸的是,您需要单独引用要复制的每个文件。我不知道是否有办法为目录执行此操作。

我在Visual Studio(2015,c ++(中有一个UWP项目,我想包含一个资产(例如图像(的外部文件夹树,以便当我在模拟器中运行它时,这些文件可用(同样,当我构建最终包时,我希望文件与包一起(。文件未修复(即我可能会在以后添加/删除文件(

从您的描述中,我认为您想为您的 uwp 应用程序挂载一个外部文件夹。但是,并非所有路径都可以根据当前文件访问规则直接访问。

只能通过代理流程访问其他位置。此代理进程以用户的完全权限运行,它可以代表应用将这些权限用于应用通过功能请求的位置、用户通过文件选取器请求的位置等。存储项封装了此经纪过程,因此应用不需要直接处理它。

正如 Rob 所说,您可以使用用户的完全权限访问其他位置。有关更多信息,您可以参考文件访问权限官方文档。