zoukankan      html  css  js  c++  java
  • Docker环境下使用SkiaSharp的2种方式

    Docker环境下使用SkiaSharp出现如下错误:

    Message: The type initializer for 'SkiaSharp.SKData' threw an exception. StackTrace: at SkiaSharp.SKData.Create(Stream stream)
    at SkiaSharp.SKImage.FromEncodedData(Stream data)

    解决方法:

    方案1:

    Dockerfile使用正常的底包:mcr.microsoft.com/dotnet/aspnet:5.0

    项目引用SkiaSharp与SkiaSharp.NativeAssets.Linux.NoDependencies这两个nuget包即可。

    Dockfile:

    FROM mcr.microsoft.com/dotnet/aspnet:5.0
    WORKDIR /app
    COPY published .
    ENTRYPOINT ["dotnet", "xxx.dll"]

    方案2:

    1、项目引用SkiaSharp与SkiaSharp.NativeAssets.Linux这两个nuget包

    2、重新制作镜像底包,命名为:aspnet:5.0-skiasharp

    docker build -t aspnet:5.0-skiasharp .

    底包相应Dockfile:

    FROM mcr.microsoft.com/dotnet/aspnet:5.0
    RUN apt-get update && apt-get install -y libfontconfig1
     
    3、制作应用镜像包
    Dockerfile:
    FROM aspnet:5.0-skiasharp
    WORKDIR /app
    COPY published .
    ENTRYPOINT ["dotnet", "xxx.dll"]
  • 相关阅读:
    阿里云中挖矿病毒
    flutter 返回刷新页面
    PM2 常用命令
    阿里云Redis 配置
    stm32f407启动文件分析
    C++类的前置声明
    Qt快速入门学习笔记(画图篇)
    Qt快速入门学习笔记(基础篇)
    Qt入门实例
    Qt编码设置
  • 原文地址:https://www.cnblogs.com/yycelsu/p/14048859.html
Copyright © 2011-2022 走看看