AZFW0111: Azure Functions worker パッケージが参照されていません

Item 価値
ルール識別子 AZFW0111
Category Sdk
重症度 Warning

原因

復元後、プロジェクトの解決済みパッケージグラフに Microsoft.Azure.Functions.Worker.Core アセンブリは見つかりませんでした。

ルールの説明

Azure.Functions.Sdkの初期バージョンでは、暗黙の直接パッケージ参照としてMicrosoft.Azure.Functions.Workerが追加されていました。 直接的な参照であったため、NuGetはSDK提供のバージョンにピン留めし、遷移依存関係(例えばOpenTelemetry統合パッケージ)によって要求される上位バージョンは静かにダウングレードしました。 バージョンの不一致は復元時に報告されませんでしたが、 System.MissingMethodExceptionなどのランタイム障害を引き起こしました。

SDKはもはやこの暗黙の参照を加えません。 代わりに、ワーカー パッケージは、プロジェクトから直接、またはそれに依存するパッケージを介して参照される必要があります。これにより、NuGet は依存関係グラフで必要とされる最も高いバージョンを解決できるようになります。 このターゲットは復元後にワーカーパッケージが存在していることを検証し、存在しない場合は警告します。

修正方法

Microsoft.Azure.Functions.Worker(またはそれに依存するパッケージ、例えばMicrosoft.Azure.Functions.Worker.Grpc)への参照を追加します:

  <ItemGroup>
+   <PackageReference Include="Microsoft.Azure.Functions.Worker" Version="2.52.0" />
    <PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.Http.AspNetCore" Version="2.1.0" />
  </ItemGroup>

警告を抑えるタイミング

この警告は、プロジェクトが意図的に実行可能なAzure Functionsアプリ(例:関数アプリで消費される共有ライブラリ)を生成しない場合のみ抑制してください。 NoWarnにAZFW0111を加えて抑制してください:

<PropertyGroup>
  <NoWarn>$(NoWarn);AZFW0111</NoWarn>
</PropertyGroup>