これはなに?
VSCodeからEvents HubsトリガーのAzure Functionsを作成した際に、Functionsが実行できなかったのでその対処方法について記載します。
エラー内容
Functionsを実行した際に以下のようなNuGetエラーとなり、実行に失敗する。
ExtensionStartupType EventHubsWebJobsStartup from assembly 'Microsoft.Azure.WebJobs.EventHubs, Version=4.X.X.X, Culture=neutral, PublicKeyToken=XXXXXXX' does not meet the required minimum version of 4.X.X.X. Update your NuGet package reference for Microsoft.Azure.WebJobs.Extensions.EventHubs to 4.X.0 or later.
原因
以下のIssueにも書いてあるのですが、FunctionsがV4になった際に拡張機能の最小バージョンが更新されたらしい。VSCodeでデフォルトで生成されるバージョンが最小バージョンよりも低いためエラーとなる。
対処方法
Functionsの設定ファイルであるhost.jsonの"Microsoft.Azure.Functions.ExtensionBundle"のVersionを更新する。
"extensionBundle": { "id": "Microsoft.Azure.Functions.ExtensionBundle", "version": "[3.3.0, 4.0.0)"
V4の最小バージョンは以下を確認してみてください。
Functions V4 - Require a minimum version for supported extensions · Issue #1987 · Azure/Azure-Functions · GitHub
最後に
このエラー解消するのに小一時間かかってしまったので、同じ問題でつまずいている方のご参考になれば幸いです。