Azure / azure-functions-durable-extension

Durable Task Framework extension for Azure Functions
MIT License
714 stars 270 forks source link

Error NU1605: Warning As Error: Detected package downgrade: Microsoft.Extensions.Options from 3.0.0 to 2.2.0. #2928

Open evalann opened 1 week ago

evalann commented 1 week ago

Description

I recently attempted to upgrade our azure function app that has a durable function orchestration from net 6 to net 8 which also meant that I need to change it from in process to isolated worker. After making the relevant changes to fix this, the application compiles and runs correctly locally but when I run the build on our Azure Devops build agent we get the below warning as error:

/{myFunctionAppName}/obj/Release/net8.0/WorkerExtensions/WorkerExtensions.csproj(0,0): Error NU1605: Warning As Error: Detected package downgrade: Microsoft.Extensions.Options from 3.0.0 to 2.2.0. Reference the package directly from the project to select a different version. 
 Microsoft.Azure.Functions.Worker.Extensions -> Microsoft.Azure.WebJobs.Extensions.DurableTask 2.13.7 -> Microsoft.Extensions.Http 2.2.0 -> Microsoft.Extensions.Logging 3.0.0 -> Microsoft.Extensions.Options (>= 3.0.0) 
 Microsoft.Azure.Functions.Worker.Extensions -> Microsoft.Azure.WebJobs.Extensions.DurableTask 2.13.7 -> Microsoft.Extensions.Http 2.2.0 -> Microsoft.Extensions.Options (>= 2.2.0)
/home/vsts/work/1/s/{myFunctionAppName}/obj/Release/net8.0/WorkerExtensions/WorkerExtensions.csproj : error NU1605: Warning As Error: Detected package downgrade: Microsoft.Extensions.Options from 3.0.0 to 2.2.0. Reference the package directly from the project to select a different version. 
/home/vsts/work/1/s/{myFunctionAppName}/obj/Release/net8.0/WorkerExtensions/WorkerExtensions.csproj : error NU1605:  Microsoft.Azure.Functions.Worker.Extensions -> Microsoft.Azure.WebJobs.Extensions.DurableTask 2.13.7 -> Microsoft.Extensions.Http 2.2.0 -> Microsoft.Extensions.Logging 3.0.0 -> Microsoft.Extensions.Options (>= 3.0.0) 
/home/vsts/work/1/s/{myFunctionAppName}/obj/Release/net8.0/WorkerExtensions/WorkerExtensions.csproj : error NU1605:  Microsoft.Azure.Functions.Worker.Extensions -> Microsoft.Azure.WebJobs.Extensions.DurableTask 2.13.7 -> Microsoft.Extensions.Http 2.2.0 -> Microsoft.Extensions.Options (>= 2.2.0)
##[error]{myFunctionAppName}/obj/Release/net8.0/WorkerExtensions/WorkerExtensions.csproj(0,0): Error NU1605: Warning As Error: Detected package downgrade: Microsoft.Extensions.Options from 3.0.0 to 2.2.0. Reference the package directly from the project to select a different version. 
 Microsoft.Azure.Functions.Worker.Extensions -> Microsoft.Azure.WebJobs.Extensions.DurableTask 2.13.7 -> Microsoft.AspNetCore.Server.Kestrel 2.2.0 -> Microsoft.AspNetCore.Hosting 2.2.0 -> Microsoft.Extensions.Logging 3.0.0 -> Microsoft.Extensions.Options (>= 3.0.0) 
 Microsoft.Azure.Functions.Worker.Extensions -> Microsoft.Azure.WebJobs.Extensions.DurableTask 2.13.7 -> Microsoft.AspNetCore.Server.Kestrel 2.2.0 -> Microsoft.AspNetCore.Hosting 2.2.0 -> Microsoft.Extensions.Options (>= 2.2.0)
/home/vsts/work/1/s/{myFunctionAppName}/obj/Release/net8.0/WorkerExtensions/WorkerExtensions.csproj : error NU1605: Warning As Error: Detected package downgrade: Microsoft.Extensions.Options from 3.0.0 to 2.2.0. Reference the package directly from the project to select a different version. 
/home/vsts/work/1/s/{myFunctionAppName}/obj/Release/net8.0/WorkerExtensions/WorkerExtensions.csproj : error NU1605:  Microsoft.Azure.Functions.Worker.Extensions -> Microsoft.Azure.WebJobs.Extensions.DurableTask 2.13.7 -> Microsoft.AspNetCore.Server.Kestrel 2.2.0 -> Microsoft.AspNetCore.Hosting 2.2.0 -> Microsoft.Extensions.Logging 3.0.0 -> Microsoft.Extensions.Options (>= 3.0.0) 
/home/vsts/work/1/{myFunctionAppName}/obj/Release/net8.0/WorkerExtensions/WorkerExtensions.csproj : error NU1605:  Microsoft.Azure.Functions.Worker.Extensions -> Microsoft.Azure.WebJobs.Extensions.DurableTask 2.13.7 -> Microsoft.AspNetCore.Server.Kestrel 2.2.0 -> Microsoft.AspNetCore.Hosting 2.2.0 -> Microsoft.Extensions.Options (>= 2.2.0)
##[error]{myFunctionAppName}/obj/Release/net8.0/WorkerExtensions/WorkerExtensions.csproj(0,0): Error NU1605: Warning As Error: Detected package downgrade: Microsoft.Extensions.DependencyInjection.Abstractions from 3.0.0 to 2.2.0. Reference the package directly from the project to select a different version. 
 Microsoft.Azure.Functions.Worker.Extensions -> Microsoft.Azure.WebJobs.Extensions.DurableTask 2.13.7 -> Microsoft.Extensions.Http 2.2.0 -> Microsoft.Extensions.Logging 3.0.0 -> Microsoft.Extensions.DependencyInjection 3.0.0 -> Microsoft.Extensions.DependencyInjection.Abstractions (>= 3.0.0) 
 Microsoft.Azure.Functions.Worker.Extensions -> Microsoft.Azure.WebJobs.Extensions.DurableTask 2.13.7 -> Microsoft.Extensions.Http 2.2.0 -> Microsoft.Extensions.DependencyInjection.Abstractions (>= 2.2.0)
/home/vsts/work/1/s/{myFunctionAppName}/obj/Release/net8.0/WorkerExtensions/WorkerExtensions.csproj : error NU1605: Warning As Error: Detected package downgrade: Microsoft.Extensions.DependencyInjection.Abstractions from 3.0.0 to 2.2.0. Reference the package directly from the project to select a different version. 
/home/vsts/work/1/s/{myFunctionAppName}/obj/Release/net8.0/WorkerExtensions/WorkerExtensions.csproj : error NU1605:  Microsoft.Azure.Functions.Worker.Extensions -> Microsoft.Azure.WebJobs.Extensions.DurableTask 2.13.7 -> Microsoft.Extensions.Http 2.2.0 -> Microsoft.Extensions.Logging 3.0.0 -> Microsoft.Extensions.DependencyInjection 3.0.0 -> Microsoft.Extensions.DependencyInjection.Abstractions (>= 3.0.0) 
/home/vsts/work/1/s/{myFunctionAppName}/obj/Release/net8.0/WorkerExtensions/WorkerExtensions.csproj : error NU1605:  Microsoft.Azure.Functions.Worker.Extensions -> Microsoft.Azure.WebJobs.Extensions.DurableTask 2.13.7 -> Microsoft.Extensions.Http 2.2.0 -> Microsoft.Extensions.DependencyInjection.Abstractions (>= 2.2.0)
  Failed to restore /home/vsts/work/1/s/{myFunctionAppName}/obj/Release/net8.0/WorkerExtensions/WorkerExtensions.csproj (in 12.44 sec).

It seems like there are dependencies that are clashing with each other within the DurableTask package. Is there any way to tell it to use the later version of the internal dependencies?

Expected behavior

The application should compile on my PC and on the build agent.

Actual behavior

The application does not compile on the build agent.

Known workarounds

I've tried suppressing warnings and disabling "TreatWarningsAsErrors" but it still fails with the same errors.

App Details

bachuv commented 3 days ago

Hi @evalann, I created an app using the same dependencies that you shared and I wasn't able to reproduce the issue. The .NET Isolated DF app that I have is building and running as expected. Have you tried clearing your local cache and building again? Thanks!