升级到 .NET 6 后,无法加载共享库“libHarfBuzzSharp”或其依赖项之一在 Linux 上运行时出错

Spa*_*key 5 c# linux harfbuzz gembox-spreadsheet .net-6.0

将其发布在这里以防对其他人有帮助。

我们使用 GemBox 构建 Excel 报告和 PDF,并在 Linux 上运行我们的代码。

我们一直在将项目升级到 .NET 6,但刚刚遇到了此错误。

无法加载共享库“libHarfBuzzSharp”或其依赖项之一...

我查看了 GemBox 的发行说明,发现他们已经采取措施放弃 System.Drawing,因为 Microsoft 已经放弃了 Linux 对此的支持。

宝石盒公告

Spa*_*key 13

有趣的是,更新 GemBox Nuget 并没有安装这些依赖项,因此我们安装了 HarfBuzzSharp 2.8.xx 并运行我们的代码。我们仍然遇到同样的问题。然后我们必须安装 HarfBuzzSharp.NativeAssets.Linux 2.8.xx

一旦我们手动更新了这些依赖项,我们的代码就再次工作了。

希望这对其他人有帮助。

PS 这也可能是 SkiaSharp 的情况

  • 是的,Linux 上需要“HarfBuzzSharp.NativeAssets.Linux”和“SkiaSharp.NativeAssets.Linux”。请检查 [Linux / macOS](https://www.gemboxsoftware.com/spreadsheet/examples/create-excel-pdf-on-linux-net-core/5701) 和 [Docker](https://www. gemboxsoftware.com/spreadsheet/examples/create-excel-pdf-on-docker-net-core/5902)示例。 (2认同)