NuGet Push создает исключение PackageExistsAsDeletedException - PullRequest
0 голосов
/ 26 июня 2018

Я тестирую размещенный в VSTS канал NuGet и создал и опубликовал NuPkg для канала с именем: SomeComponent.2.1.0.npkg

Я хотел повторно протестировать изменение, внесенное в определение выпуска,поэтому я удалил пакет из ленты и очистил корзину.

Но теперь, когда я пытаюсь опубликовать, я получаю сообщение об ошибке:

Error: An unexpected error occurred while trying to push the package with VstsNuGetPush.exe. Exit code(1) and error(Error:
Microsoft.VisualStudio.Services.NuGet.WebApi.Exceptions.PackageExistsAsDeletedException: The version 2.1.0 of SomeComponent has been deleted. It cannot be restored or pushed.
   at Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.HandleResponse(HttpResponseMessage response)
   at Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.<SendAsync>d__47.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.<SendAsync>d__29.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at VstsNuGetPush.PackageAdder.AddPackageToFeed(String feedName, BlobIdentifierWithBlocks blobId)
   at VstsNuGetPush.VstsNuGetPushOperation.AddPackageToFeed(BlobIdentifierWithBlocks blobId)
   at VstsNuGetPush.VstsNuGetPushOperation.Execute(Stream stream)
   at VstsNuGetPush.VstsNuGetPushCommand.MainCore(ILogger logger)
   at VstsNuGetPush.VstsNuGetPushCommand.Main())

Packages failed to publish

Если я удалил пакет и очистилмусорное ведро, что все еще держит знание того, что я ранее опубликовал этот пакет?

Кроме того, почему это должно заботиться, если я повторно публикую пакет, я не могу просто перезаписать то, что там?

1 Ответ

0 голосов
/ 27 июня 2018

По той причине, что не удалось снова вставить удаленный пакет nuget в ленту VSTS, вы выдвинули ту же версию, что и удаленный пакет .

1005 * та же версия удаленного пакета не должна выдвигаться снова , так как это может вызвать путаницу для проектов, которые использовали версию пакета.Ниже приведен пример, который может привести к неожиданному результату, если обнаруженный пакет может нажать еще раз:

Предположим, project1 использует пакет nuget SomeComponent с версией 2.1.0.когда вы удаляете этот пакет в канале VSTS, project1 обнаружит, что пакет nuget SomeComponent с версией 2.1.0 недоступен.Но если пакет SomeComponent с той же версией 2.1.0 (файл .pkg отличается от других тем, что отличается от удаления), может быть снова отправлен, это приведет к неожиданному результату / ошибке для project1.

Таким образом, одним словом, вы должны выдвинуть другую версию из удаленной версии для того же пакета nuget (например, пакет push SomeComponent с версией 2.1.1 в приведенном выше примере).

...