Azure Functionでproject.json のパッケージ読み込みが行わないときは、バージョンが違うかもしれない


状況

以前、作成したAzure functionを違うところでも使うために、新しいAzure functionを立ててソースをアップしました。
その際に、project.json で、パッケージの読み込みない問題が発生しました。

project.jsonをアップしてもパッケージが読み込がおこなわれず、project.lock.jsonも生成されません。
Azure functionを実行してもライブラリがないため失敗してしまいます。

TL; DR;

  • Azure functionバージョン2からは、project.jsonを使えないので、バージョン1を使用するか、2系に書き換える必要がある
  • バージョン1への変更は、プラットフォーム機能 -> Function App の設定 -> ランタイム バージョン
  • 登録関数を、一度全部消さないとバージョンの変更ができなさそう

動かない理由

どうやら、2.0からproject.jsonが廃止されXML形式のfunction.projになるようです。

project.jsonを2.0に合うように変更する方法もあるようです。
https://docs.microsoft.com/ja-jp/dotnet/core/tools/project-json-to-csproj

実行したこと

今回はサーバの移植のため、TL; DR;にある流れでサーバを1系に変更して対応しました。

以上です。