我正在构建一个 ASP.NET Core Web API 项目,它将使用 SkiaSharp 在后端进行渲染。该代码在 .NET Core 桌面测试应用程序中运行,但是当我们在 ASP.NET Core Web API 项目上运行相同的代码时,该项目崩溃了。异常表明找不到libSkiaSharp:
Unable to load shared library 'libSkiaSharp' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: liblibSkiaSharp: cannot open shared object file: No such file or directory
.csproj 正在引用 SkiaSharp(以及相关的 Nuget 包),但一定有一些文件未进入已编译的文件夹。我该如何解决这个问题?
最佳答案
此问题在以下 github 问题中讨论:
https://github.com/mono/SkiaSharp/issues/964
为了解决这个问题,我必须执行以下操作:
- 安装 SkiaSharp.NativeAssets.Linux nuget 软件包。
- 将以下内容添加到 dockerfile 中:
运行 apt-get update && apt-get install -y libfontconfig1
请注意,解决此问题后我遇到了另一个问题:
无法加载共享库“libHarfBuzzSharp”或其依赖项之一
为了解决这个问题,我安装了 HarfBuzzSharp.NativeAssets.Linux。我提到这一点是为了防止有人像我一样犯这两个错误。
关于c# - 为什么在 ASP.NET Core Web API 中使用 SkiaSharp 会导致崩溃?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68990461/