| Item | 價值 |
|---|---|
| 規則識別碼 | AZFW0111 |
| 類別 | Sdk |
| Severity | Warning |
原因
還原後,專案已解析的套件圖中找不到 Microsoft.Azure.Functions.Worker.Core 任何組件。
規則說明
Azure.Functions.Sdk 的早期版本將 Microsoft.Azure.Functions.Worker 新增為隱含的直接套件參考。 由於這是直接參考,NuGet 會將其固定為 SDK 提供的版本,並悄悄將傳遞相依性(例如 OpenTelemetry 整合套件)所要求的較高版本降版。 版本不相符的問題未在還原時回報出來,卻導致執行階段失敗,例如 System.MissingMethodException。
SDK 不再加入這個隱含的參考。 相反地,專案必須直接參考 worker 套件,或透過相依於該套件的其他套件來參考,讓 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 應用程式(例如被函式應用程式消耗的共享函式庫)時,才應抑制此警告。 將 AZFW0111 加入 NoWarn 以抑制:
<PropertyGroup>
<NoWarn>$(NoWarn);AZFW0111</NoWarn>
</PropertyGroup>