c# - 将资源添加到 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>
解决方案
推荐阅读
- typescript - 使用自己的属性推断类型
- node.js - 如何解决我使用 npm install 得到的“gyp ERR”?
- javascript - NodeJS SSH2 / SFTP 握手超时
- javascript - Jasmine,模拟`new Audio()` 类
- javascript - 从嵌套数组中分配随机项的函数
- sql-server - Oracle 中是否有与 T-SQL 中的 OBJECT_ID 函数等效的函数?
- node.js - 带有 https 服务器域的 Flutter Socket.io 客户端
- r - 有没有办法通过应用来自两个数据帧的条件来找出由值计数组成的 2 X 2 列联表
- html - 如何将存储在本地存储中的数据放入数组中以在 html 购物车中打印?
- python - 使用网格的图像变形