【问题标题】:.NET 6 Upgrade Broke DinkToPdf on Azure Function.NET 6 升级破坏了 Azure Function 上的 DinkToPdf
【发布时间】:2022-10-21 00:15:35
【问题描述】:

我有一个使用 DinkToPdf 的 Azure 函数(不是容器函数)。

我已将此升级到 .NET 6 和 Azure V4。

我现在收到此错误:

One or more errors occurred. (Unable to load shared library '/home/site/wwwroot/bin/libwkhtmltox.so' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: libXrender.so.1: cannot open shared object file: No such file or directory)

我已经检查了部署的捆绑包并且存在libqkhtmltox.so,因此进一步阅读错误,我假设系统上缺少libXrender.so.1

我在这里看到了各种其他答案,建议只使用apt install libxrender1 来解决这个问题,但由于我不在容器化函数中,我认为我不能这样做。

这里有什么解决方法吗?

libXrender 是否已在 V4 中升级,如果是,我可以手动加载 libXrender.so.x 并希望它能正常工作吗?有没有可以用来捆绑libXrender.so.1 的 nuget 包?

【问题讨论】:

  • 您是否设法找到解决方案?
  • 有点...我必须迁移到具有自定义运行时容器的函数并添加依赖项。稍后我会写一篇文章。
  • 啊,那将是惊人的。先感谢您!
  • 有一点时间,现在就做了。如果您有任何问题,请告诉我,我会将它们添加到答案中

标签: c# azure linker .net-6.0 wkhtmltopdf


【解决方案1】:

似乎微软已经从标准运行时容器中删除了一大堆围绕libgdiplus 的依赖项。

因此,答案是将您的函数迁移到use a custom runtime container

这个 dockerfile 应该可以完成这项工作:

FROM mcr.microsoft.com/dotnet/sdk:6.0 AS installer-env    
COPY . /src/dotnet-function-app
RUN cd /src/dotnet-function-app && 
    mkdir -p /home/site/wwwroot && 
    dotnet publish your-project.csproj --output /home/site/wwwroot


FROM mcr.microsoft.com/azure-functions/dotnet:4
RUN apt-get update && apt-get install -y libglib2.0 libgdiplus libnss3 libatk1.0-0 libatk-bridge2.0-0 ca-certificates fonts-liberation libappindicator3-1 libasound2 libatk-bridge2.0-0 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgbm1 libgcc1 libglib2.0-0 libgtk-3-0 libnspr4 libnss3 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 lsb-release xdg-utils
ENV AzureWebJobsScriptRoot=/home/site/wwwroot 
    AzureFunctionsJobHost__Logging__Console__IsEnabled=true  

COPY --from=installer-env ["/home/site/wwwroot", "/home/site/wwwroot"]

【讨论】:

    猜你喜欢
    • 2015-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-20
    • 2021-03-05
    • 1970-01-01
    • 2022-06-13
    相关资源
    最近更新 更多