You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure App Service已安装依赖列表查询及.NET 8迁移依赖缺失问题

查看Azure App Service Linux依赖项及.NET 8升级后libjpeg62缺失问题解决

查看已安装依赖项的方法

  • 通过SSH连接到App Service实例:在Azure门户的App Service页面进入「开发工具」>「SSH」,打开终端后执行apt list --installed,即可列出所有已安装的Debian系统包。若要过滤特定库(比如jpeg相关),用dpkg -l | grep libjpeg更高效。
  • 输出到日志文件:若无法直接使用SSH,可修改App Service的启动命令,例如设置为apt list --installed > /home/site/wwwroot/dependencies.log && dotnet YourApp.dll。部署完成后,通过Kudu的「文件管理器」进入/home/site/wwwroot就能查看生成的日志文件。
  • Kudu终端快速检查:在Kudu的「调试控制台」>「Bash」中,同样可以执行上述命令,实时查看依赖情况。

解决.NET 8升级后libjpeg62缺失的问题

.NET 8的Azure App Service Linux镜像基于更新的Debian版本,默认不再预装libjpeg62,这是导致图形渲染类NuGet包失效的核心原因。可通过以下方式修复:

  • 自定义启动脚本安装依赖:
    在项目根目录创建startup.sh脚本,内容如下:
    #!/bin/bash
    apt-get update && apt-get install -y libjpeg62-turbo -qq
    dotnet YourApp.dll
    
    随后在Azure门户的App Service「配置」>「常规设置」里,将「启动命令」改为./startup.sh(注意替换YourApp.dll为你的实际应用程序集名称)。
  • 使用自定义Docker镜像:
    若需要更稳定的环境,避免每次部署重复安装依赖,可构建自定义镜像。Dockerfile示例:
    FROM mcr.microsoft.com/dotnet/aspnet:8.0
    RUN apt-get update && apt-get install -y libjpeg62-turbo && rm -rf /var/lib/apt/lists/*
    WORKDIR /app
    COPY . .
    ENTRYPOINT ["dotnet", "YourApp.dll"]
    
    将镜像推送到Azure容器注册表(ACR)后,再部署到App Service即可。
  • 升级NuGet包:
    部分图形渲染类NuGet包已更新适配.NET 8和新版本libjpeg库,尝试将相关包升级至最新稳定版,可能无需额外安装系统依赖就能解决问题。

内容的提问来源于stack exchange,提问作者Steven Pfeifer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 03:42:14