如何将文件夹中的所有文件打包到VS2015中的UWP应用程序包中?
问题描述:
我有一个UWP应用程序,其中包含一个webview,显示从一个单独的源编译的文件。单独的源代码将所有文件转储到一个文件夹中,并且我只想将该文件夹的全部内容自动包含在我的UWP构建中。如何将文件夹中的所有文件打包到VS2015中的UWP应用程序包中?
我还没有找到一个简单的自动方式来做到这一点。
我可以用这种方法狠狠地添加它们:Copying assets into UWP application package但是这并不能真正帮助我,因为生成文件夹中文件的过程可以添加,删除或更改全部文件的名称。每次它这样做(这可以是一天多次),我必须进入并重新添加或删除已经出现/消失的文件。
目前我最好的想法是编写一个脚本来解析文件夹,列出文件,然后从该列表中自动生成一个vcxproj文件。但是,这看起来很诡异,并且会有一些缺点(例如,我对VS2015中的项目文件所做的任何更改都会被分类,除非我也更改了脚本)
是否有办法告诉VS2015将所有将命名文件夹中的文件(和子文件夹)放入UWP应用程序中,没有问题?
答
可以通过Property Sheet/.props文件添加文件夹和所有子文件夹和文件。
本示例包含UWP appx包中“Assets \ Website”下的'TestItem'下的所有文件和文件夹结构。请注意,TestItem本身没有条目,因为它是根。
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Label="PropertySheets" />
<ItemGroup>
<_CustomResource Include="..\..\TestItem\**\*">
<Link>Assets\Website\%(RecursiveDir)%(FileName)%(Extension)</Link>
<DeploymentContent>true</DeploymentContent>
</_CustomResource>
</ItemGroup>
<Target Name="_CollectCustomResources" BeforeTargets="AssignTargetPaths">
<Message Text="Adding resource: %(_CustomResource.Identity) -> %(_CustomResource.Link)" />
<ItemGroup>
<None Include="@(_CustomResource)" />
</ItemGroup>
</Target>
</Project>
Property Manager可用于将新的Property Sheets添加到项目中。
请注意,我没有在IDE中找到添加,编辑甚至查看上述属性的任何方式,所以我手动创建了.props文件。
文件夹只能在本地文件夹中找到吗? –