• .Net Core 使用 System.Drawing.Common 在CentOS下报错


    .Net Core MVC 项目,添加了图片上传处理功能,使用了 System.Drawing.Common 引用。

    部署CentOS后,提示

    Unhandled Exception: System.TypeInitializationException: The type initializer for 'Gdip' threw an exception. ---> System.DllNotFoundException: Unable to load shared library 'libdl' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: liblibdl: cannot open shared object file: No such file or directory
       at Interop.Libdl.dlopen(String fileName, Int32 flag)
       at System.Drawing.SafeNativeMethods.Gdip.LoadNativeLibrary()
       at System.Drawing.SafeNativeMethods.Gdip..cctor()
       --- End of inner exception stack trace ---
       at System.Drawing.SafeNativeMethods.Gdip.GdipLoadImageFromDelegate_linux(StreamGetHeaderDelegate getHeader, StreamGetBytesDelegate getBytes, StreamPutBytesDelegate putBytes, StreamSeekDelegate doSeek, StreamCloseDelegate close, StreamSizeDelegate size, IntPtr& image)
       at System.Drawing.Image.InitFromStream(Stream stream)
       at System.Drawing.Image.LoadFromStream(Stream stream, Boolean keepAlive)
       at imagetest1.Program.Main(String[] args) in F:imagetest1imagetest1Program.cs:line 13
    C#

    解决这个问题需要在CentOS中安装 libdl

    #locate libdl
    /usr/lib64/libdl-2.17.so
    /usr/lib64/libdl.so.2
    #cd /usr/lib64
    #ln -s libdl-2.17.so libdl.so
     

    然后又报另外一个错误:Unable to load DLL 'libgdiplus'

    yum install libgdiplus-devel

    转载:http://3624091.com/blogs/detail/21
  • 相关阅读:
    python—打开图像文件报错
    CTFshow萌新赛-萌新福利
    微信小程序bug
    微信小程序
    架构
    命令行
    MyBatis
    avalon
    并发测试工具
    less
  • 原文地址:https://www.cnblogs.com/yuany69/p/14385703.html
Copyright © 2020-2023  润新知