【问题标题】:How can I bundle all files in a folder into UWP application package in VS2015?VS2015中如何将文件夹中的所有文件捆绑到UWP应用程序包中?
【发布时间】:2018-03-08 19:19:24
【问题描述】:

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

我还没有找到一种简单、自动的方法来执行此操作。

我可以使用以下方法手动添加它们:Copying assets into UWP application package 但这并没有真正帮助我,因为在文件夹中生成文件的过程可以添加、删除或更改文件的名称。每次它这样做(这可能一天多次)我必须进入并重新添加或删除已经出现/消失的文件。

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

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

【问题讨论】:

  • 文件夹可以直接定位到本地文件夹吗?

标签: visual-studio-2015 build uwp


【解决方案1】:

可以通过属性表/.props 文件添加文件夹以及所有子文件夹和文件。

此示例包括“Assets\Website”下 UWP appx 包中“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) -&gt; %(_CustomResource.Link)" />
    <ItemGroup>
      <None Include="@(_CustomResource)" />
    </ItemGroup>
  </Target>
</Project>

属性管理器可用于向项目添加新的属性表。
请注意,我在 IDE 中没有找到任何添加、编辑甚至查看上述属性的方法,因此我手工制作了 .props 文件。

【讨论】:

    猜你喜欢
    • 2015-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-22
    • 2023-03-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多