【问题标题】:Why does using SkiaSharp in a ASP.NET Core Web API cause a crash?为什么在 ASP.NET Core Web API 中使用 SkiaSharp 会导致崩溃?
【发布时间】:2021-08-31 06:28:44
【问题描述】:

我正在构建一个 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 包),但必须有一些文件没有进入编译文件夹。我该如何解决这个问题?

【问题讨论】:

  • 您是否尝试过“设置 LD_DEBUG 环境变量”?
  • 我猜你需要 SkiaSharp Linux 依赖项 nuget SkiaSharp.NativeAssets.Linux

标签: c# asp.net-core nuget skiasharp


【解决方案1】:

这个问题在下面的github issue中讨论:

https://github.com/mono/SkiaSharp/issues/964

为了解决这个问题,我必须做到以下几点:

  1. 安装 SkiaSharp.NativeAssets.Linux nuget 包。
  2. 将以下内容添加到 dockerfile: RUN apt-get update && apt-get install -y libfontconfig1

请注意,在解决了这个问题后,我还有一个问题:

Unable to load shared library 'libHarfBuzzSharp' or one of its dependencies

为了解决这个问题,我安装了 HarfBuzzSharp.NativeAssets.Linux。我会提到这一点,以防有人像我一样遇到这两个错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-28
    • 1970-01-01
    • 2011-01-03
    • 2020-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多