C#项目发布,离线部署Linux项目后台导出报错 libgdiplus

文章讲述了在尝试在Linux机器上部署项目时遇到的libgdiplus库缺失问题,该库是Mono中的System.Drawing组件,用于非Windows系统的GDI+兼容。由于缺少此库,导致项目在部署后无法正常导出文件。解决方案是在Dockerfile中添加安装libgdiplus和清理缓存的命令,并创建符号链接以解决依赖问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

报错信息:Unable to load shared library 'libgdiplus' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: liblibgdiplus: cannot open shared object file: No such file or directory\

原因分析:libgdiplus是一个Mono库,用于对非Windows操作系统提供GDI+兼容的API,libgdiplus是mono中的System.Drawing依赖的一个组件,用于显示web页面基本颜色等。可用于生成netcore验证码,处理图片等

业务需求:在客户Linux机器上部署项目,导出功能是在本地正常使用的,但是部署完成之后报错无法导出(获取文件流错误)

解决办法

       

在Dockerfile文件中加入以下四行代码即可,在打包的同时同时会编译下面的代码

RUN apt-get update -y
RUN apt-get install -y libgdiplus
RUN apt-get clean
RUN ln -s /usr/lib/libgdiplus.so /usr/lib/gdiplus.dll


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值