我用的是 ZKWeb.System.Drawing去画验证码 在windows 上 没有问题 。 但是 在linux 上报错 。
fail: Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware[0]
An unhandled exception has occurred: The type initializer for 'System.DrawingCore.GDIPlus' threw an exception.
System.TypeInitializationException: The type initializer for 'System.DrawingCore.GDIPlus' threw an exception. ---> System.DllNotFoundException: Unable to load shared library 'gdiplus' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: libgdiplus: cannot open shared object file: No such file or directory
我Linux 上已经安装了 gdiplus.dll 请问 是什么原因
参考:
我src 指向我的 验证码地址的时候
出现了这个问题 请问 是什么原因啊? 在windows 上没有 在linux 上 有
@马玉溁: 看日志
.NET 不能跨平台吧
我使用的是asp.net core
1、 引入包后,把原来的using system.drawing 改为ussing system.DrawingCore 等这是常规的引用
2、linux服务器要安装 run apt-get update -y && apt-get install -y libgdiplus && apt-get clean && ln -s /usr/lib/libgdiplus.so /usr/lib/gdiplus.dll