Lewis Marhin
Lewis Marhin

Reputation: 166

NuGet causing Azure Pipeline issues

Not every time but quite frequently I get ##[error]The nuget command failed with exit code(1) and error(NU1102: Unable to find package MyPackage with version (>= 1.0.5) in my Azure Pipelines builds (different packages and different versions): Pipeline error

The package definitely exists as it had just been built a couple of minutes ago and I can see it in the Artifact Feed: Artifact feed

Here is my pipeline: Build Step 1 Build Step 2

The project consists of multiple packages so this is starting to get really inconvenient. If I try on different build agents I eventually get one to work but the pipelines are supposed to be more of a hands off process. As far as I can tell (or guess), Nuget is caching the index.json for the feed. The only other issues I can find related to this specifically happen in people's local environments. Is there some way to get Nuget to properly check if packages exist?

Upvotes: 4

Views: 8670

Answers (2)

LoLance
LoLance

Reputation: 28086

1.Not sure about the real cause of your issue, but if cleaning cache can help to resolve your issue, you only need to enable this option in Restore task.

enter image description here

2.Also, sometimes the package not found error could be related to feed permissions in Devops. Go Artifacts=>custom Feed=>Feed Settings in right corner:

enter image description here

Make sure your build service have access to that feed.

Upvotes: 3

zivkan
zivkan

Reputation: 14961

NuGet does cache what versions of a package are available on each feed for 30 minutes, so the package was published more recently than that, and that machine had already restored a different version of the package within the last 30 minutes, it will be a problem.

You could run dotnet nuget locals http-cache --clear or nuget.exe locals http-cache -clear before the restore, that will delete NuGet's HTTP cache.

Upvotes: 3

Related Questions