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

报错信息: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


 

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
发布C# WebAPI项目并在IIS中部署的步骤如下: 1. 打开Visual Studio,打开你的C# WebAPI项目。 2. 在Visual Studio中,选择“生成(Build)”菜单,然后选择“发布(Publish)”选项。 3. 在“发布目标(Publish Target)”中,选择“文件系统(File System)”。 4. 在“目标位置(Target Location)”中,指定你想要发布到的文件夹。 5. 点击“发布(Publish)”按钮,Visual Studio将会发布你的C# WebAPI项目到指定的文件夹中。 6. 打开IIS管理器,右键单击“网站(Web Sites)”节点,选择“添加网站(Add Website)”选项。 7. 在“添加网站(Add Website)”对话框中,输入网站名称、物理路径、端口号等信息。 8. 在“主机名(Host Name)”中,输入你想要使用的主机名(如果不需要,请留空)。 9. 在“IP地址(IP Address)”中,选择你想要使用的IP地址(如果不需要,请留空)。 10. 点击“确定”按钮,IIS将会创建你的网站。 11. 在IIS管理器中,右键单击你刚刚创建的网站,选择“添加应用程序池(Add Application Pool)”选项。 12. 在“添加应用程序池(Add Application Pool)”对话框中,输入应用程序池名称、.NET CLR版本等信息。 13. 点击“确定”按钮,IIS将会创建你的应用程序池。 14. 在IIS管理器中,右键单击你的网站,选择“编辑绑定(Edit Bindings)”选项。 15. 在“网站绑定(Site Bindings)”对话框中,选择你想要使用的端口号、IP地址和主机名(如果有)。 16. 点击“确定”按钮,IIS将会保存你的网站绑定设置。 17. 在IIS管理器中,右键单击你的应用程序池,选择“高级设置(Advanced Settings)”选项。 18. 在“高级设置(Advanced Settings)”对话框中,将“.NET CLR版本(.NET CLR Version)”设置为你的C# WebAPI项目所使用的CLR版本。 19. 点击“确定”按钮,IIS将会保存你的应用程序池设置。 20. 在IIS管理器中,右键单击你的网站,选择“添加应用程序(Add Application)”选项。 21. 在“添加应用程序(Add Application)”对话框中,输入应用程序路径、应用程序池名称等信息。 22. 点击“确定”按钮,IIS将会创建你的应用程序。 23. 将你的C# WebAPI项目发布到应用程序路径所指定的文件夹中。 24. 打开你的浏览器,输入你的网站地址,验证你的C# WebAPI项目已经成功部署到IIS中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值