AZFW0111:未參照 Azure Functions 工作封裝

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>