| 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>