AZFW0111: Brak odwołania do pakietu roboczego Azure Functions

Towar Value
Identyfikator reguły AZFW0111
Kategoria SDK
Severity Warning

Przyczyna

Po przywróceniu w grafie rozpoznanych pakietów projektu nie znaleziono żadnego zestawu Microsoft.Azure.Functions.Worker.Core.

Opis reguły

Wcześniejsze wersje dodawały Azure.Functions.SdkMicrosoft.Azure.Functions.Worker jako ukryte bezpośrednie odniesienie do pakietu. Ponieważ było to odwołanie bezpośrednie, NuGet przypiął je do wersji dostarczonej przez SDK i po cichu obniżał wyższe wersje żądane przez zależności tranzytywne (na przykład pakiety integracyjne OpenTelemetry). Niedopasowanie wersji nie zostało zgłoszone podczas przywracania, ale powodowało awarie w czasie działania, takie jak System.MissingMethodException.

SDK nie dodaje już tego ukrytego odniesienia. Zamiast tego projekt musi odwoływać się do pakietu worker — bezpośrednio lub za pośrednictwem pakietu, który od niego zależy — aby NuGet mógł ustalić najwyższą wersję wymaganą przez graf zależności. Ten cel potwierdza, że pakiet roboczy jest obecny po przywróceniu i ostrzega, gdy go brakuje.

Jak rozwiązać problem

Dodaj referencję do Microsoft.Azure.Functions.Worker (lub pakiet, który od niej zależy, np. 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>

Kiedy tłumić ostrzeżenia

Wyłącz to ostrzeżenie tylko wtedy, gdy projekt celowo nie generuje uruchamialnej aplikacji Azure Functions (na przykład współudostępnionej biblioteki zużywanej przez aplikację funkcyjną). Wyłącz to, dodając AZFW0111 do NoWarn:

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