Azure / azure-functions-dotnet-worker

Azure Functions out-of-process .NET language worker
MIT License
431 stars 184 forks source link

GRPC Conflicts with NuGet packages #2803

Closed DrGriff closed 2 days ago

DrGriff commented 3 weeks ago

Description

I have an Azure Function with the following NuGet packages:

<PackageReference Include="Azure.Extensions.AspNetCore.Configuration.Secrets" Version="1.3.2" />
<PackageReference Include="Azure.Identity" Version="1.13.0" />
<PackageReference Include="Microsoft.Azure.Functions.Worker" Version="1.23.0" />
<PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.Http" Version="3.2.0" />
<PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.Http.AspNetCore" Version="1.3.2" />
<PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.ServiceBus" Version="5.22.0" />
<PackageReference Include="Microsoft.Azure.Functions.Worker.Sdk" Version="1.18.1" />
<PackageReference Include="Microsoft.ApplicationInsights.WorkerService" Version="2.22.0" />
<PackageReference Include="Microsoft.Azure.Functions.Worker.ApplicationInsights" Version="1.4.0" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="8.0.1" />
<PackageReference Include="Microsoft.Extensions.Http.Resilience" Version="8.10.0" />

When I compile I get the following warning:

Severity Code Description Project File Line Suppression State Details Warning (active) Grpc.Net.ClientFactory 2.63.0 or earlier could cause issues when used together with Microsoft.Extensions.Http.Resilience. For more details, see https://learn.microsoft.com/dotnet/core/resilience/http-resilience#known-issues. Consider using Grpc.Net.ClientFactory 2.64.0 or later. To suppress the warning set SuppressCheckGrpcNetClientFactoryVersion=true.

I tracked this down to the Microsoft.Azure.Functions.Worker package (1.23.0) having a dependency on Microsoft.Azure.Functions.Worker.Grpc (>= 1.17.0) that in turn has references to:

As per the warning message, could these be updated to latest (or at least 2.64.0).

Steps to reproduce

Apply the relevant NuGet packages to a .NET 8 Azure Function in Visual Studio, compile and see the warning.

jviau commented 2 days ago

@DrGriff you can pin to higher versions of gRPC package yourself by adding these lines to your project:

<PackageReference Include="Grpc.Net.ClientFactory" Version="..." />

Additionally, we have updated these references in the 2.0 versions of our packages.