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

如何在Linux Azure App Service中安装系统包以运行.NET 5应用

问题核心原因

你此前的方案均未命中正确的依赖安装场景:

  • 构建阶段安装依赖:你在构建代理的Ubuntu系统上安装的libnss3-dev仅对构建环节生效,不会被打包到应用发布包中,自然不会出现在App Service的运行环境里
  • 部署后操作:Kudu的部署后脚本以普通用户权限执行,没有修改系统目录的权限,也没有预装sudo工具,因此会触发权限/命令不存在报错
    另外你现有构建流水线中的Dep install脚本还存在YAML语法错误,步骤写在了steps节点外,本身该逻辑对需求没有帮助,可以直接删除。

可行实现方案

方案1:自定义启动脚本(推荐,改动量最小)

Linux Azure App Service的内置运行时启动命令默认以root权限执行,你可以通过自定义启动脚本完成依赖安装后再启动应用:

  1. 在你的Web项目根目录新建startup.sh文件,内容如下:
#!/bin/bash
# 安装所需系统依赖
apt-get update
apt-get install -y libnss3-dev
# 启动.NET应用,注意替换为你的实际项目dll名称
dotnet Web.dll
  1. 将startup.sh的文件属性设置为「如果较新则复制」,保证发布时会被打包到输出包的根目录。
  2. 完成应用发布后,进入Azure门户对应App Service的配置→常规设置页,将「启动命令」设置为./startup.sh,如果运行报错可改为bash startup.sh,保存后应用会自动重启生效。

方案2:自定义Docker镜像(适合依赖复杂场景)

如果后续还有更多系统依赖需要配置,可以直接编写Dockerfile打包自定义运行镜像,将依赖安装、环境配置都固化到镜像中,推送到容器注册表后直接给App Service使用,完全可控运行环境。

内容的提问来源于stack exchange,提问作者Imran Sh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 07:24:03