首页 > 解决方案 > Azure 函数不生成 extensions.json

问题描述

我有一个由 ServiceBus 和 BlobStorage 触发的具有多个功能的 Azure Functions 项目。

几个月来,他们一直在构建和部署到 azure fine。
最近发生了一些事情,当您单击该功能时,它们不再从我的构建机器部署,但在 Azure 中出现错误Error: The binding type(s) 'blobTrigger' are not registered.
它仍然可以从我的开发机器正常部署。他们正在使用 WEBSITE_RUN_FROM_ZIP 来部署代码本身。

我从我的开发机器和构建机器中提取了发布目录,似乎该文件extensions.json是在本地生成但不在构建机器上,以及构建机器上不存在的空本地化文件夹和大约 10mb 的差异我还无法解释的大小。
Azure Functions 的目标是 .Net Standard 2.0。检查 .Net 版本,.Net 核心在构建和开发机器上是相同的版本。

是什么原因导致生成此文件?

标签: azureazure-functions.net-standard-2.0

解决方案


按照这个 Github 评论中的建议,我已经能够解决这个问题。

本质上,有时您必须包含一个额外的依赖项才能让 msbuild/visual studio 运行构建后的步骤并生成您的扩展文件。
添加Microsoft.Azure.Webjobs.Script.ExtensionsMetadataGenerator为您的函数项目的依赖项,它应该始终(到目前为止)正确构建您的发布目录。

按照惯例,将问题留给别人告诉我们为什么需要这样做。


推荐阅读