Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
| Item | Valeur |
|---|---|
| Identificateur de la règle | AZFW0111 |
| Category | SDK |
| Severity | Warning |
Cause
Après restauration, aucun Microsoft.Azure.Functions.Worker.Core assemblage n'a été trouvé dans le graphique de package du projet résolu.
Description de la règle
Les versions antérieures de Azure.Functions.Sdk ajoutaient Microsoft.Azure.Functions.Worker comme une référence directe implicite au package. Parce qu’il s’agissait d’une référence directe, NuGet l’a épinglé sur la version fournie par le SDK et a silencieusement rétrogradé les versions supérieures demandées par les dépendances transitives (par exemple, les paquets d’intégration OpenTelemetry). Le décalage de version n’a pas été signalé lors de la restauration, mais a causé des pannes à l’exécution telles que System.MissingMethodException.
Le SDK n’ajoute plus cette référence implicite. Au lieu de cela, le package worker doit être référencé par le projet — directement ou via un package qui en dépend — afin que NuGet résout la version la plus élevée requise par le graphe de dépendance. Cette cible valide qu’un package de worker est présent après la restauration et émet un avertissement lorsqu’il est absent.
Comment résoudre le problème
Ajouter une référence à Microsoft.Azure.Functions.Worker (ou un package qui en dépend, comme 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>
Quand supprimer les avertissements
Supprimez cet avertissement uniquement si le projet ne produit intentionnellement pas une application Azure Functions exécutable (par exemple, une bibliothèque partagée consommée par une application de fonctions). Supprimez-le en ajoutant AZFW0111 à NoWarn:
<PropertyGroup>
<NoWarn>$(NoWarn);AZFW0111</NoWarn>
</PropertyGroup>