You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET Core Web API使用SkiaSharp时无法加载libSkiaSharp异常怎么解决

SkiaSharp在ASP.NET Core Web API中找不到libSkiaSharp的解决方案

这个报错是Linux部署环境下的典型问题,Web项目的Nuget原生资产复制逻辑和桌面项目不同,可按以下步骤修复:

1. 安装对应平台的原生资产包

默认安装的SkiaSharp主包不包含平台特定的原生库,需要手动补充安装对应运行环境的Nuget包:

  • Linux环境优先安装 SkiaSharp.NativeAssets.Linux.NoDependencies,该包已内置所有依赖,不需要额外安装系统级库
  • 如果需要依赖系统原生库的版本,安装 SkiaSharp.NativeAssets.Linux
  • Windows部署安装 SkiaSharp.NativeAssets.Win32,macOS部署安装 SkiaSharp.NativeAssets.macOS

2. 强制复制原生资产到输出目录

在项目的.csproj文件中添加如下配置,强制Nuget将所有原生依赖复制到编译输出目录:

<PropertyGroup>
  <!-- 复制所有锁定的Nuget资产到输出目录 -->
  <CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
  <!-- 显式开启SkiaSharp原生资产复制 -->
  <SkiaSharpCopyNativeAssets>true</SkiaSharpCopyNativeAssets>
</PropertyGroup>

3. Linux环境可选依赖安装

如果没有安装无依赖版本的原生包,需要先安装系统级依赖:

# Debian/Ubuntu 系列
apt update && apt install -y libfontconfig1 libfreetype6 libharfbuzz0b

# CentOS/RHEL 系列
yum install -y fontconfig freetype harfbuzz

4. 验证修复效果

重新编译项目后,检查输出目录中是否存在libSkiaSharp.so(Linux)、libSkiaSharp.dll(Windows)或libSkiaSharp.dylib(macOS),存在即表示原生资产已正常复制,启动项目调用SkiaSharp相关逻辑即可正常运行。

内容的提问来源于stack exchange,提问作者Victor Chelaru

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 18:48:02