The error message "The attribute "Version" in element <PackageReference> is unrecognized" suggests that there is a problem with the version of NuGet that is being used. The version of NuGet that is being used is 6.4.0.123, which may be causing an issue with the version of the packages in your project.
You can try to update NuGet to the latest version by running the following command:
nuget update -self
You can also try to specify the version of NuGet to use in the NuGetCommand step in your pipeline yaml file:
- task: NuGetCommand@2
inputs:
restoreSolution: '$(solution)'
version: 'latest'
Another thing you can try is to update your dotnet core version to latest version and check if it is compatible with the version of NuGet that you have installed.
Finally, you can also try to delete the package references and re-adding them, or even try a different package version.
To force the version of NuGet in your pipeline YAML file, you can add the version input to the NuGetCommand task. For example, if you want to use version 6.5.0 of NuGet, you can update the NuGetCommand task in your pipeline as follows:
- task: NuGetCommand@2
inputs:
restoreSolution: '$(solution)'
version: '6.5.0'
This will instruct the pipeline to use version 6.5.0 of NuGet for restoring packages.
Alternatively, if you want to use the latest version of NuGet, you can specify the version as latest:
- task: NuGetCommand@2
inputs:
restoreSolution: '$(solution)'
version: 'latest'
You can check the latest version of NuGet from the official Nuget website, and update the version number accordingly.
Additionally, you can also try adding the following line in the pipeline to use the nuget.exe in the NuGet tool installer step:
- task: NuGetCommand@2
inputs:
command: restore
restoreSolution: '$(solution)'
feedsToUse: 'config'
nugetConfigPath: '$(NuGetToolInstaller.NuGetConfigPath)'
It may be helpful to clear the NuGet package cache before.
To clear the NuGet package cache, you can use the following command in the NuGet Package Manager Console:
nuget locals all -clear
This command will clear all the local NuGet package caches, including the packages, http-cache, and temp files.
You can also use the following command to clear specific NuGet cache:
nuget locals [cache-name] -clear
Where [cache-name] can be one of the following:
packages
http-cache
temp
For example, to clear the packages cache, use the following command:
nuget locals packages -clear
Additionally, the NuGet cache can also be found in the following location on your machine:
Copy code
%UserProfile%\.nuget\packages
You can simply delete the contents of this folder.
some official documentation from NuGet on how to clear the cache and troubleshoot issues:
https://docs.microsoft.com/en-us/nuget/consume-packages/managing-the-global-packages-and-cache-folders#how-to-clear-the-global-packages-folderhttps://docs.microsoft.com/en-us/nuget/consume-packages/managing-the-global-packages-and-cache-foldershttps://learn.microsoft.com/en-us/nuget/reference/nuget-exe-cli-referenceAdditionally, you can also find more information on NuGet's GitHub page, where you can find other users' issues and solutions, or submit your own:
https://github.com/NuGet/Home/issuesPlease let me know if you have any other question.