zoukankan      html  css  js  c++  java
  • .net core 2.2, new Bitmap出错 The type initializer for 'Gdip' threw an exception

    .net core 2.2以下,目前3.0正式版还没发布,不知3.0有没有此问题

    Image image = new Bitmap(400, 200);

    new的时候会报错:The type initializer for 'Gdip' threw an exception. ---> System.DllNotFoundException: Unable to load shared library 'libdl' or one of its dependencies

    关于此问题,这位老哥有详细的描述

    Asp.Net Core使用System.Drawing.Common部署到docker报错问题

    我的解决办法:

    在Dockerfile文件中加上,然后运行,编译。

    RUN ln -s /lib/x86_64-linux-gnu/libdl-2.24.so /lib/x86_64-linux-gnu/libdl.so
    RUN apt-get update
    RUN apt-get install libgdiplus -y && apt-get clean && ln -s libgdiplus.so gdiplus.dll

    延伸学习:

    libdl.so

    作用:在程序运行时找到指定的so并连接
    有4个函数:
    dlopen//打开一个动态库
    dlsym//在打开的动态库里找一个函数
    dlclose//关闭动态库
    dlerror//返回错误

    libgdiplus.so
    libgdiplus是一个Mono库,用于对非Windows操作系统提供GDI+兼容的API。
    libgdiplus是mono中的System.Drawing依赖的一个组件,用于显示web页面基本颜色等。
    具体可以看 http://www.mono-project.com/Libgdiplus 

    关于Mono Libgdiplus库,善友大哥的文章有介绍:https://www.cnblogs.com/shanyou/archive/2013/05/02/3055393.html

    如有疑问,欢迎留言交流。

    作者:陈哲Gilbert
    出处:http://gilbert.cnblogs.com
    版权声明:
    本文版权归作者所有,欢迎转载,请在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。

  • 相关阅读:
    Spring----Day03
    Spring----Day02
    python
    python
    python
    python
    python
    python
    python
    python
  • 原文地址:https://www.cnblogs.com/gilbert/p/11531789.html
Copyright © 2011-2022 走看看