如何在UUGP应用程序的NUGET包中打包内容文件?

时间:2017-12-11 13:33:55

标签: uwp nuget nuspec

我正在尝试为包含字体资源的UWP应用程序构建NuGet包。 DLL的部署似乎很好,但是我无法将字体复制到已部署的应用程序中。

这就是我试图将它们包含在我的.nuspec文件中的方式:

<file src="src\LagoVista.Core.UWP\Assets\Fonts\*.ttf"  target="runtimes\win10-x86\lib\uap10.0\Assets\Fonts"  />
<file src="src\LagoVista.Core.UWP\Assets\Fonts\*.ttf"  target="runtimes\win10-x64\lib\uap10.0\Assets\Fonts"  />
<file src="src\LagoVista.Core.UWP\Assets\Fonts\*.ttf"  target="runtimes\win10-arm\lib\uap10.0\Assets\Fonts"  />
<file src="src\LagoVista.Core.UWP\Assets\Fonts\*.ttf"  target="ref\uap10.0\Assets\Fonts"  />

这是创建的NUGET包的输出: enter image description here

最后,这是在部署我的UWP应用程序后导入NuGet包时创建的APPX文件夹:

enter image description here

Icons文件夹来自应用程序,我希望在/ appX / Assets目录中包含一个名为Fonts的附加文件夹,其中包含nuget包中包含的字体。我的Nuspec文件有什么问题导致文件不被包含在内?

1 个答案:

答案 0 :(得分:1)

请查看本指南 - Creating UWP controls as NuGet packages - Package content such as images

您需要将目标文件添加到NuGet包中。请注意,目标文件将进入构建文件夹,并在安装NuGet软件包时自动应用。

在您的情况下,目标文件看起来像这样:

<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <ItemGroup Condition="'$(TargetPlatformIdentifier)' == 'UAP'">
        <Content Include="$(MSBuildThisFileDirectory)..\..\ref\uap10.0\Assets\Fonts">
            <CopyToOutputDirectory>Always</CopyToOutputDirectory>
        </Content>
    </ItemGroup>
</Project>