首页 > 解决方案 > 将资源添加到 Xamarin.Forms NuGet

问题描述

我即将为 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>

标签: c#.netxamarinxamarin.forms

解决方案


推荐阅读