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

升级至.NET 6后Linux环境运行报错:无法加载libHarfBuzzSharp库

解决.NET 6下Linux环境使用GemBox时“libHarfBuzzSharp”加载失败问题

问题原因

Linux环境用GemBox生成Excel、PDF,升级到.NET 6后出现报错:Unable to load shared library 'libHarfBuzzSharp' or one of its dependencies...。本质原因是GemBox正逐步弃用System.Drawing组件——微软已经终止了该组件在Linux平台的支持,GemBox转而依赖跨平台的HarfBuzzSharp库,但系统缺少对应的底层依赖。

解决方案

  • 安装系统级依赖库
    根据你的Linux发行版执行对应命令:
    Debian/Ubuntu系:

    sudo apt-get update && sudo apt-get install -y libharfbuzz0b libfontconfig1
    

    RHEL/CentOS系:

    sudo yum install -y harfbuzz fontconfig
    
  • 升级GemBox组件到最新版
    确保项目里的GemBox.Spreadsheet、GemBox.Pdf等包是最新稳定版本,这些版本已经完成了对无System.Drawing环境的适配。

  • 显式配置SkiaSharp后端(可选)
    部分复杂渲染场景下,可能需要手动指定使用SkiaSharp作为图形后端,初始化代码示例:

    ComponentInfo.SetLicense("你的GemBox许可证密钥");
    // 配置SkiaSharp组件解析
    SpreadsheetInfo.SetSkiaSharpCustomAssemblyResolver(assemblyName =>
    {
        switch (assemblyName)
        {
            case "SkiaSharp":
                return Assembly.LoadFrom("SkiaSharp.dll");
            case "SkiaSharp.NativeAssets.Linux":
                return Assembly.LoadFrom("SkiaSharp.NativeAssets.Linux.dll");
            default:
                return null;
        }
    });
    

GemBox官方公告翻译

我们正在逐步移除非Windows平台上对System.Drawing(GDI)的依赖。由于微软已停止对.NET Core/.NET 5+在非Windows系统上的System.Drawing支持,我们将转向使用SkiaSharp等跨平台图形库替代,以此保障Linux、macOS等平台的兼容性与运行稳定性。

内容的提问来源于stack exchange,提问作者Bug Maker

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 11:33:31