2017-01-09 12 views
1

У меня есть проблема с TFS (версия 15.105.25910.0) во время загрузки пакета NuGet в:TFS - 409 Конфликта во время пакета загрузить

****************************************************************************** 
Starting task: NuGet Publisher 
****************************************************************************** 
Set workingFolder to default: C:\BuildSystem\TfsAgent\tasks\NuGetPublisher\0.2.21 
C:\Windows\system32\chcp.com 65001 
Active code page: 65001 
Detected NuGet version 3.3.0.212/3.3.0 
SYSTEMVSSCONNECTION exists true 
C:\BuildSystem\TfsAgent\tasks\NuGetPublisher\0.2.21\node_modules\nuget-task-common\NuGet\3.3.0\NuGet.exe push -NonInteractive C:\BuildSystem\TfsAgent\_work\6\s\myfolderPackage\bin\Release\mypackage.1.16.1905.nupkg -Source HunextPackages -ApiKey VSTS 
Pushing mypackage 1.16.1905 to 'https://mytfsurl.com:444/tfs/DefaultCollection/_packaging/9ebd459f-9a02-456e-9243-c8d0f989c871/nuget/v2/'... 
Failed to process request. 'Conflict'. 
The remote server returned an error: (409) Conflict.. 
Error: C:\BuildSystem\TfsAgent\tasks\NuGetPublisher\0.2.21\node_modules\nuget-task-common\NuGet\3.3.0\NuGet.exe failed with return code: 1 
Packages failed to publish 
****************************************************************************** 
Finishing task: NuGetPublisher 
****************************************************************************** 
System.Exception: Task NuGetPublisher failed. This caused the job to fail. Look at the logs for the task for more details. 
at Microsoft.TeamFoundation.DistributedTask.Worker.JobRunner.Run(IJobContext jobContext, IJobRequest job, IJobExtension jobExtension, CancellationTokenSource tokenSource) 
Worker Worker-bbe2b68d-3dfb-4b56-8546-bc2935a3ffe1 finished running job bbe2b68d-3dfb-4b56-8546-bc2935a3ffe1 
****************************************************************************** 
Finishing Build 
****************************************************************************** 

Я использую управление пакетами на TFS и удаленный сервере возвращенных 409 конфликта, но в список пакетов, которые я не вижу в моем «mypackage 01.16.1905». Где физически хранится пакет? Спасибо.

+0

Вы загружаете тот же пакет версии? –

+0

да @ Eddie-MSFT - та же версия пакета. Я загружал профилировщик sql-сервера во время загрузки, и я получаю таблицы, используемые в качестве хранилища, но логика работы для меня очень сложна. есть ли у вас какие-либо идеи? Спасибо – cirio

ответ

0

Для устранения проблем попробуйте запустить его вручную в обычной консоли PowerShell вместо запуска на этапе сборки.

И в зависимости от вашего журнала, Похож, вы используете nuget 3.3. Попробуйте использовать nuget 3.5 или выше, чтобы использовать функцию упаковки TFS из-за некоторых исправлений auth, которые вошли в 3.5. Вы найдете версию, которая переключается внутри параметров задачи Nuget в определении вашей сборки.

Попробуйте обновить до 3.5, чтобы узнать, есть ли у вас проблемы. Также убедитесь, что у вас нет какой-либо проблемы с auth, которую nuget может использовать для отправки на сервер.


Update

Это невозможно перезаписать существующие пакеты на TFS. Nuget.exe позволяет подстановочные знаки для push, поэтому вы можете использовать nuget push *.nupkg -Source .... Для этого он опубликует последнюю версию.

+0

Я попытался обновить консольное приложение nuget с этой версией https://dist.nuget.org/win-x86-commandline/v3.5.0/NuGet.exe, но у меня такая же проблема локально. Это может быть связано с «неизменностью пакетов»? https://www.visualstudio.com/it-it/docs/package/feeds/immutability. Спасибо – cirio

+0

Да, это должно быть основной причиной. Так как у вас одна и та же проблема локально. Поскольку ссылка говорит, что nuget будет хранить локальный кеш пакетов на вашем компьютере. Как только клиент кэширует конкретную версию пакета @, он вернет эту копию в будущих запросах на установку и восстановление. –

+0

Невозможно перезаписать существующие пакеты в TFS. Nuget.exe позволяет ** подстановочные знаки ** для push, поэтому вы можете использовать 'nuget push * .nupkg -Source ....' Для этого он опубликует последнюю версию. –