2016-01-14 15 views
2

Я играю с функциями Release в Visual Studio Online. Мой проект встроен в пакет nuget, который я хотел бы опубликовать в фид nuget.VSTS Release: NuGet Publisher Step Fails

Я успешно создаю пакет nuget и опубликую его в Artifacts, и я могу увидеть требуемый файл, когда я пытаюсь просмотреть Артефакты. Затем я переключаюсь в VSO Release и как часть выпуска меня NuGet Publisher шаг:

VSO release screenshot

Я использую VSO внутренний канал NuGet с адресом, как это:

https://mytenant.pkgs.visualstudio.com/DefaultCollection/_packaging/myfeedname/nuget/v3/index.json

Когда я создаю новый релиз, этот этап не завершается:

Set workingFolder to default:  
C:\LR\MMS\Services\Mms\TaskAgentProvisioner\Tools\agents\default\tasks\NuGetPublisher\0.1.39 Executing the powershell script: C:\LR\MMS\Services\Mms\TaskAgentProvisioner\Tools\agents\default\tasks\NuGetPublisher\0.1.39\NuGetPublisher.ps1 
[error]Cannot bind argument to parameter 'Path' because it is null. 
[error]Cannot bind argument to parameter 'Path' because it is null. Check/Set nuget path Creating Nuget Arguments 
[error]Cannot bind argument to parameter 'Path' because it is null. 
[error]You cannot call a method on a null-valued expression. 

Очевидно, что путь файла nuget не передается скрипту. Кроме того, я попытался указать точный путь к NuGet (выбранный из выпадающих):

$ (System.DefaultWorkingDirectory) \ Построить & тестового пакет \ NuGet \ MyPackageName.1.1.16014.7.nupkg

Но получил ту же ошибку.

Этот шаг завершается неудачно, когда я использую его в VSO Release. Когда я использую шаг издателя Nuget в качестве шага сборки и указываю тот же адрес кортежа nuget и «Path/Pattern to nupkg» как **\bin\MyPackageName.*.nupkg, я получаю пакет, опубликованный в фиде.

Любая идея, как исправить эту ошибку для выпуска VSO?

UPD: это выход

>Set workingFolder to default: C:\LR\MMS\Services\Mms\TaskAgentProvisioner\Tools\agents\default\tasks\NuGetPublisher\0.1.39 
>Executing the powershell script: C:\LR\MMS\Services\Mms\TaskAgentProvisioner\Tools\agents\default\tasks\NuGetPublisher\0.1.39\NuGetPublisher.ps1 
>[debug]Importing modules 
>[debug]Loading module from path 'C:\LR\MMS\Services\Mms\TaskAgentProvisioner\Tools\agents\default\agent\worker\Modules\Microsoft.TeamFoundation.DistributedTask.Task.Internal\Microsoft.TeamFoundation.DistributedTask.Task.Internal.dll'. 
>[debug]Importing cmdlet 'Add-BuildAttachment'. 
>[debug]Importing cmdlet 'Convert-String'. 
> 
>...SNIP... 
> 
>[debug]Importing cmdlet 'Find-Files'. 
>[error]System.Management.Automation.ParameterBindingValidationException: Cannot bind argument to parameter 'Path' because it is null. 
>[error] at System.Management.Automation.Internal.PipelineProcessor.SynchronousExecuteEnumerate(Object input, Hashtable errorResults, Boolean enumerate) 
>[error] at System.Management.Automation.PipelineOps.InvokePipeline(Object input, Boolean ignoreInput, CommandParameterInternal[][] pipeElements, CommandBaseAst[] pipeElementAsts, CommandRedirection[][] commandRedirections, FunctionContext funcContext) 
>[error] at System.Management.Automation.Interpreter.ActionCallInstruction`6.Run(InterpretedFrame frame) 
>[error] at System.Management.Automation.Interpreter.EnterTryCatchFinallyInstruction.Run(InterpretedFrame frame) 
>[error] at System.Management.Automation.Interpreter.EnterTryCatchFinallyInstruction.Run(InterpretedFrame frame) 
>[error]System.Management.Automation.ParameterBindingValidationException: Cannot bind argument to parameter 'Path' because it is null. 
>[error] at System.Management.Automation.Internal.PipelineProcessor.SynchronousExecuteEnumerate(Object input, Hashtable errorResults, Boolean enumerate) 
>[error] at System.Management.Automation.PipelineOps.InvokePipeline(Object input, Boolean ignoreInput, CommandParameterInternal[][] pipeElements, CommandBaseAst[] pipeElementAsts, CommandRedirection[][] commandRedirections, FunctionContext funcContext) 
>[error] at System.Management.Automation.Interpreter.ActionCallInstruction`6.Run(InterpretedFrame frame) 
>[error] at System.Management.Automation.Interpreter.EnterTryCatchFinallyInstruction.Run(InterpretedFrame frame) 
>[error] at System.Management.Automation.Interpreter.EnterTryCatchFinallyInstruction.Run(InterpretedFrame frame) 
>[debug]Entering script System.Management.Automation.InvocationInfo.MyCommand.Name 
>[debug]Parameter Values 
>[debug]searchPattern = C:\a\0dbc15949\**\*.nupkg 
>[debug]nuGetFeedType = internal 
>[debug]connectedServiceName = 
>[debug]feedName = https://MyName.pkgs.visualstudio.com/DefaultCollection/_packaging/MyFeedName/nuget/v3/index.json 
>[debug]nuGetAdditionalArgs = 
>[debug]nuGetPath = 
>Check/Set nuget path 
>Creating Nuget Arguments 
>[debug]Using provided feed URL 
>[error]System.Management.Automation.ParameterBindingValidationException: Cannot bind argument to parameter 'Path' because it is null. 
>[error] at System.Management.Automation.Internal.PipelineProcessor.SynchronousExecuteEnumerate(Object input, Hashtable errorResults, Boolean enumerate) 
>[error] at System.Management.Automation.PipelineOps.InvokePipeline(Object input, Boolean ignoreInput, CommandParameterInternal[][] pipeElements, CommandBaseAst[] pipeElementAsts, CommandRedirection[][] commandRedirections, FunctionContext funcContext) 
>[error] at System.Management.Automation.Interpreter.ActionCallInstruction`6.Run(InterpretedFrame frame) 
>[error] at System.Management.Automation.Interpreter.EnterTryCatchFinallyInstruction.Run(InterpretedFrame frame) 
>[error] at System.Management.Automation.Interpreter.EnterTryCatchFinallyInstruction.Run(InterpretedFrame frame) 

журнал отладки Вот full log для NuGet Publisher шаг

+0

Добавить переменную system.debug в среду RM и установить ее в true. Это должно дать вам некоторое представление о том, где проблема на самом деле происходит, поскольку она будет включать подробные отладочные сообщения в задаче NugetPackage. Похоже, у него возникают проблемы с путём самого nuget.exe, а не с вашим пакетом. – d3r3kk

+0

@ d3r3kk хороший крик. Я добавил переменную debug для создания шагов, но никогда не реализованные шаги выпуска имеют свои собственные переменные. См. Обновление вопроса. Не намного понятнее - либо нет пути к nuget.exe. Или в файл пакета. – trailmax

ответ

4

Это было в Publisher задачи NuGet bug. Это было fixed с нашим развертыванием Sprint 94.

+0

Спасибо большое! Вероятно, я подожду, пока ты развернешься. В прошлый раз 'tfx' не работал для меня. – trailmax