.Net 5隔离模式Azure Function部署成功后Azure门户不显示问题
Azure Function .NET 5 隔离模式部署后门户无函数排查方案
1. 验证应用配置正确性
- 检查函数应用配置项
FUNCTIONS_WORKER_RUNTIME,值必须为dotnet-isolated,若保留旧的dotnet会导致运行时无法识别隔离模式的函数 - 检查配置项
FUNCTIONS_EXTENSION_VERSION,值必须为~4,.NET 5 隔离模式最低要求v4版本的函数运行时 - 若配置了
WEBSITE_RUN_FROM_PACKAGE = 1,需确认部署包的根目录直接包含所有运行文件,无额外嵌套层级
2. 核对部署目录结构
Windows平台下隔离模式函数的部署根目录(wwwroot)必须直接包含以下文件/目录,禁止嵌套在额外的子目录中:
host.jsonfunctions.metadata- 项目编译生成的所有程序集文件
bin目录
可通过Kudu控制台的文件管理器确认目录结构是否符合要求,若所有文件都被放在publish之类的子目录下,运行时将无法扫描到函数元数据。
3. 校验DevOps流水线逻辑
- 确认.NET发布命令正确:
dotnet publish --configuration Release --output ./publish,不要错误添加自包含参数、错误指定非Windows的运行时标识 - 确认打包步骤仅打包
publish目录内的所有文件,而非将整个publish目录作为外层文件夹打包 - 确认Azure Function部署任务的
package参数指向的是编译输出的根目录,而非上层目录
4. 运行时错误排查
- 进入函数应用的「诊断和解决问题」面板,搜索「函数未找到」,查看平台给出的具体错误提示
- 开启应用服务日志,查看启动阶段的日志,常见报错包括依赖程序集缺失、
host.json格式错误、隔离工作进程启动失败 - 可在Kudu的PowerShell控制台中,手动执行
dotnet 你的项目主程序集名称.dll,观察是否有启动报错,若本地运行正常但云端启动报错,大概率为运行时依赖缺失或配置冲突
5. 项目配置校验
- 确认项目文件已正确引用
Microsoft.Azure.Functions.Worker、Microsoft.Azure.Functions.Worker.SdkNuGet包,且版本适配.NET 5 - 确认
host.json的配置格式符合v4运行时规范,无已废弃的配置项 - 若开启了VNet集成或访问限制,确认函数运行时有权限访问自身端点以加载函数元数据
内容的提问来源于stack exchange,提问作者Julian.Net
相关产品推荐
相关产品推荐

