I have a ASP.NET Core 2.1 and added a nuget package of Microsoft.WindowsAzure.Storage , But after pushing the code to repo, the build pipeline occurs package error while running the build agent and is it necessary to add any other agents in build pipeline other than BUILD, RESTORE, TEST and PUBLISH.
Info: Azure Pipelines hosted agents have been updated to contain .Net Core 3.x SDK/Runtime along with 2.2 & 2.1. Unless you have locked down a SDK version for your project(s), 3.x SDK might be picked up which might have breaking behavior as compared to previous versions.
This is the error it shows while running the pipeline.
As the error info indicates, it's not recommended to call latest 3.x sdk
to restore,build,test,publish your project that targets asp .net core 2.1
.
Though in most of time the build can pass, but the Publish step(task) may encounter this issue:
To resolve the issue:
We should specify the .net core
sdk version we want to use before running tasks like restore,build,test,publish
...
We could add a use .net core sdk task before other .net core tasks like this to pick up the .net core 2.1.x
related version to do the following tasks instead of using .net core 3.x sdk
:
Classic UI:
Specify 2.1.x+Include Preview Versions
will pick up the latest version of 2.1 sdk.
Yaml:
In case you're using yaml format instead of classic UI format to configure the pipeline, its yaml format looks similar to this:
steps:
- task: UseDotNet@2
displayName: 'Use .Net Core sdk 2.1.x'
inputs:
packageType: sdk
version: 2.1.x
installationPath: $(Agent.ToolsDirectory)/dotnet
includePreviewVersions: true
Hope it helps and feel free to correct me if I misunderstand anything:)