如何将文件夹中的所有文件捆绑到VS2015中的UWP应用程序包中?

时间:2017-09-27 10:28:56

标签: visual-studio-2015 build uwp

我有一个UWP应用程序,其中包含一个webview,显示从单独的源编译的文件。单独的源将所有文件转储到一个文件夹中,我想在我的UWP构建中自动包含该文件夹的全部内容。

我没有找到一种简单,自动的方式来做到这一点。

我可以使用这种方法手动添加它们:Data-linking the disabled and title attributes但是这对我没有帮助,因为生成文件夹中文件的过程可以添加,删除或更改所有文件的名称在这个地方。每次这样做(这可能是一天多次)我必须进入并重新添加或删除已出现/消失的文件。

目前我最好的想法是编写一个脚本来解析文件夹,列出文件,然后从该列表中自动生成vcxproj文件。 然而,这看起来很麻烦并且会有几个缺点(例如,我对VS2015中的项目文件所做的任何更改都会被分箱,除非我也更改了脚本)

有没有办法告诉VS2015将所有文件(和子文件夹)放入UWP应用程序的指定文件夹中,没有问题?

1 个答案:

答案 0 :(得分:1)

可以通过Property Sheet / .props文件添加文件夹和所有子文件夹和文件。

此示例包含以下所有文件和文件夹结构' TestItem'在' Assets \ Website'下的UWP appx包中。请注意,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) -&gt; %(_CustomResource.Link)" />
    <ItemGroup>
      <None Include="@(_CustomResource)" />
    </ItemGroup>
  </Target>
</Project>

Property Manager可用于向项目添加新的Property Sheets 请注意,我在IDE中找不到添加,编辑甚至查看上述属性的方法,所以我手工制作了.props文件。