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

无法发布基于.NET 5的C#版Azure Function App v3,元数据生成报错

.NET 5 孤立进程模型Function App发布元数据生成失败解决方案

报错原文:
Metadata generation failed. Exit code: '-532462766' Error: 'Error generating extension metadata: System.IO.DirectoryNotFoundException: The path PATH\bin\Release\net5.0\publish\bin does not exist. Unable to generate Azure Functions extensions metadata file.'

根因说明

该报错为.NET 5孤立工作进程(Isolated Worker)模型Azure Functions的已知构建缺陷,在Microsoft.Azure.Functions.Worker 1.2.0版本中,发布流程未自动创建publish/bin目录,导致扩展元数据生成工具找不到对应路径执行任务。

排查步骤

  • 本地构建验证:执行dotnet build -c Release,检查bin/Release/net5.0目录下是否生成完整输出文件,排除本地构建依赖缺失问题
  • 发布流程验证:执行dotnet publish -c Release,检查publish目录下是否存在bin子目录,若不存在即可确认是构建流程的目录创建逻辑缺失
  • 项目配置校验:打开.csproj文件,确认无自定义输出路径重定向、无排除bin目录复制的相关配置,排除人为配置错误

解决方案

方案1:快速临时修复

执行发布命令前,手动创建缺失目录:

mkdir PATH\bin\Release\net5.0\publish\bin

重新触发发布流程即可验证问题是否解决。

方案2:项目级永久修复

打开Function App对应的.csproj文件,在<Project>根节点内添加如下构建目标配置:

<Target Name="CreatePublishBinDirectory" AfterTargets="ComputeFilesToPublish">
  <MakeDir Directories="$(PublishDir)bin" Condition="!Exists('$(PublishDir)bin')" />
</Target>

该配置会在发布流程的文件计算阶段结束后,自动检查并创建缺失的publish/bin目录,无需每次手动操作。

方案3:官方版本修复(推荐)

升级对应NuGet包到已修复该缺陷的版本:

  • Microsoft.Azure.Functions.Worker升级到1.4.0及以上版本
  • Microsoft.Azure.Functions.Worker.Core升级到1.3.0及以上版本

升级完成后执行dotnet clean清理项目缓存,重新发布即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.19 06:45:03