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

Python Azure Function App部署失败:找不到.NET Core项目文件

Azure Python HTTP触发函数部署失败根因

本次部署失败的核心触发点是Azure部署用的Oryx构建引擎出现平台检测误判:虽然构建命令显式指定了使用Python 3.9平台,但你上传的部署压缩包缺失Python Azure函数的核心标识文件,导致Oryx自动平台检测流程未识别到Python项目特征,按默认检测顺序查找.NET Core项目文件失败后直接中断构建。

你提到数分钟前相同配置还能部署成功、未修改部署配置,问题100%出在这次代码变更或本地打包环节,常见诱因如下:

  • 本次代码修改时,误将函数项目根目录下的host.json、requirements.txt两个核心标识文件删除、移动到了子目录,或者文件名拼写错误
  • VS Code本次打包时选错了部署目录,没有选中函数项目的根目录(即打开后能直接看到host.json的目录层级),而是选中了上层仓库目录或其他无关文件夹,打出来的9.43kB压缩包内没有有效Python函数项目文件。你可以本地找到VS Code生成的部署zip包解压验证,只要解压后根目录看不到host.json就属于这个问题
  • 极低概率是当前函数应用使用的Oryx版本为2021年的老旧版本(日志中版本号为0.2.20210120.1),存在平台检测缓存脏数据的bug
修复步骤
  • 本地检查函数项目目录结构,确保host.json、requirements.txt直接放在项目根目录,不要嵌套在任何子文件夹内;每个HTTP触发函数对应的文件夹内要存在function.json配置文件
  • 在VS Code的Azure Functions扩展中重新确认部署路径,选中能直接看到host.json的项目根目录作为部署源
  • 若文件路径确认无误,到Azure函数应用的「配置-应用程序设置」中新增两个配置项,强制跳过平台自动检测:
    • SCM_DO_BUILD_DURING_DEPLOYMENT = true
    • FUNCTIONS_WORKER_RUNTIME = python
  • 清理本地VS Code的Azure扩展缓存后重新触发部署,若仍失败可手动将项目根目录下的所有文件直接打包为zip(注意不要把项目外层文件夹打进压缩包,要保证打开压缩包就能看到host.json),通过门户的zip部署功能手动上传即可。

关键日志说明:日志中抛出的Error: Could not find the .NET Core project file.不代表你需要上传.NET项目文件,只是Oryx检测完Python规则没匹配到,按顺序检测.NET平台时找不到对应文件抛出的通用报错,和你实际使用Python开发没有冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.03 07:42:28