我正在使用Heroku部署我的ASP.Net Core Web API,在调用Image.FromStream(memoryStream)函数时发生此错误:
System.DllNotFoundException:无法加载共享库“sitefiles”或它的某一个依赖项。为了帮助诊断加载问题,请考虑设置LD_DEBUG环境变量:liblibgdiplus:无法打开共享对象文件:没有这样的文件或目录
即使在Docker文件中使用RUN apt-get update && apt-get install -y apt-utils libgdiplus libc6-dev
,这个错误仍然只在Heroku中发生(它不会在localhost中发生)。
有人能帮我解决吗?我正在做我的顶点项目,所以非常感谢得到你的帮助。
2条答案
按热度按时间ff29svar1#
我找到了解决Linux中的.Net 6(heroku正在使用它来部署)不再支持System.Drawing库的方法。所以我决定把System.Drawing库改成ImageSharp库。您可以在此处找到有关更改的信息:https://learn.microsoft.com/en-us/dotnet/core/compatibility/core-libraries/6.0/system-drawing-common-windows-only
wdebmtf22#
如上所述,你所要做的就是添加到dockerfile
并添加到名为的项目根文件:runtimeconfig.template.json
这只适用于网络核心6(不是7)