将资源添加到Xamarin.Forms NuGet

时间:2020-03-12 08:04:11

标签: c# .net xamarin xamarin.forms

我将为Xamarin.Forms项目编写一个自定义的NuGet,并希望在NuGet中包含一些资源(真棒otfs字体),以便引用项目可以使用它们。

我已经成功地将它从NuGet复制到Android资产文件夹,并将其正确标记为资产文件。 但是我无法将它们作为资源文件包含在iOS中...

有人知道怎么做吗?或如何完全包含资源(使用NuGet)。

这是我的csproj文件(NuGet)的代码段,该文件适用于android,但不适用于iOS:

 <PropertyGroup Condition=" '$(Configuration)'=='Debug' ">
    <DebugSymbols>true</DebugSymbols>
  </PropertyGroup>

  <!-- If config is release create a package -->
  <PropertyGroup Condition=" '$(Configuration)'=='Release' ">
    <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
    <GenerateDocumentationFile>true</GenerateDocumentationFile>

    <!-- sourcelink: Include PDB in the built .nupkg -->
    <AllowedOutputExtensionsInPackageBuildOutputFolder>$(AllowedOutputExtensionsInPackageBuildOutputFolder);.pdb</AllowedOutputExtensionsInPackageBuildOutputFolder>
  </PropertyGroup>

  <ItemGroup>
    <Folder Include="fonts" />
    <FontFiles Include="fonts\*.otf" />
  </ItemGroup>

  <ItemGroup>
    <None Remove="@(FontFiles)" />
  </ItemGroup>

  <ItemGroup Condition=" $(TargetFramework.StartsWith('xamarin.ios')) ">
    <Compile Include="ios\**\*.ios.cs" />
    <TfmSpecificPackageFile Include="@(FontFiles)" BuildAction="BundleResource" PackagePath="contentFiles\any\$(TargetFramework)\Resources\" />
  </ItemGroup>

  <ItemGroup Condition=" $(TargetFramework.StartsWith('monoandroid')) ">
    <Compile Include="android\**\*.android.cs" />
    <Folder Include="Assets\" />
    <AndroidAsset Include="@(FontFiles)" Link="Assets\%(Filename)%(Extension)" />
  </ItemGroup>

0 个答案:

没有答案