overwrite nuget packages in feed on visual studio team services

Ingo B picture Ingo B · Jun 30, 2017 · Viewed 15k times · Source

while using

nuget.exe push \\share\Packages\*.nupkg -Source "https://myvsts.pkgs.visualstudio.com/_packaging/tcpcm/nuget/v3/index.json" -ApiKey VSTS

i got an

Response status code does not indicate success: 409 (Conflict).

error

is there a way to overwrite all packages that have already been uploaded?

Answer

Leo Liu-MSFT picture Leo Liu-MSFT · Jul 3, 2017

is there a way to overwrite all packages that have already been uploaded?

The simple answer is No. Jonathan Myers`s answer pointed out the correct document: Understand immutability of packages.

Once you publish a particular version of a package to a feed, that version number is permanently reserved. You cannot upload a newer revision package with that same version number, or delete it and upload a new package at the same version.

That because many package clients, including NuGet, keep a local cache of packages on your machine. Once a client has cached a particular package@version, it will return that copy on future install/restore requests. If, on the server, you replace package@version (rev 1) with a new package@version (rev 2), the client is unable to tell the difference. This can lead to indeterminate build results from different machines.

So we could not overwrite all packages that have already been uploaded, even we could not delete them and re-uploaded. To resolve this issue, the only way is that upload the packages with a new version.