2

У меня есть пакетная передача на VSTS, предоставляющая несколько пакетов, которые я ссылаюсь в решении, которое также строится на VSTS. После сбоев сборки на этапе восстановления пакета произошли сбои с журналами, указывающими, что он не может найти, что dlls nuget должен восстановить.Установщик VSTS Nuget не удается выполнить аутентификацию с помощью фида пакета

Восстановление пакета NuGet Basd.Diagnostics.0.7.0.

ВНИМАНИЕ! Невозможно найти версию '0.7.0' пакета 'Basd.Diagnostics'.

Общественности/частные каналы перечислены в моем nuget.config и они также появляются в журналах сборка "Using Feeds...", так что это не вопрос операция восстановления не в состоянии найти фактические каналы для пакета. Это больше похоже на то, что он не может аутентифицироваться и поэтому не может получить пакет из фида.

Если посмотреть на историю для определения сборки происходит изменение с момента, когда он в последний раз работал в настоящее время и что это так:

"build": [ 
    { 
     "enabled": true, 
     "continueOnError": false, 
     "alwaysRun": false, 
     "displayName": "NuGet restore MySol.sln", 
     "timeoutInMinutes": 0, 
     "task": { 
     "id": "333b11bd-d341-40d9-afcf-b32d5ce6f23b", 
     "versionSpec": "*", 
     "definitionType": "task" 
     }, 
     "inputs": { 
     "solution": "Basd.Core.sln", 
     "nugetConfigPath": "nuget.config", 
     "restoreMode": "restore", 
     "noCache": "false", 
     "nuGetRestoreArgs": "", 
     "verbosity": "", 
     "nuGetPath": "", 
     "preCredProviderNuGet": "false" 
     } 
    }, 

Существует в настоящее "preCredProviderNuGet": "false" поле в определении. Я googled, но я не могу узнать, как и где это установлено, но я предполагаю, что это предотвращает проверку подлинности в моем канале, что, в свою очередь, является причиной неудачной операции восстановления.

Итак, где этот параметр и/или как его включить или удалить в качестве записи? В рабочей сборке def, она не была установлена ​​в true, ее просто не было.

Это поле, связанное с VSTS UI, или что-то, что я установил в файлах nuget.config? Я предполагаю, что первое, потому что снова выполнение diff подсказывает, что ничего не изменилось в моем nuget.config между рабочими и нерабочими сборками.

+0

https://www.bountysource.com/issues/36464119-nuget-installer-restore-fails-to-pull-down-unlisted-packages-from-vsts-package-management – rism

ответ

1

Это, похоже, вызвано проблемой VSTS, которая должна быть исправлена ​​к настоящему времени, пожалуйста, попробуйте агент сборки.

Издание: Packaging issues with Visual Studio Team Services – 7/30 – Resolved

+0

Нет, к сожалению, это не решает мою проблему, но, поскольку ничего не изменилось в моем конце и что время слишком совпадало, Id указывает на проблему с Microsoft. Это проблема с облаком - отсутствие контроля, и когда он ломается, он ломается для всех. Ошибка превращается в инфекцию. Спасибо за ссылку, хотя - что-то вроде проверки здравомыслия. – rism

+0

@ rism MS изучает новую проблему: https://blogs.msdn.microsoft.com/vsoservice/?p=12025 –

+0

Работает второй патч/исправление. Спасибо за ссылки. – rism

0

Настройка "preCredProviderNuGet" не связана с вашей проблемой. Задача NuGet Restore имеет дополнительные расширенные настройки «Путь к NuGet.exe», а соответствующий флажок «Путь к NuGet.exe ниже версии 3.2». Эти настройки соответствуют настройкам nuGetPath и preCredProviderNuGet в сборке json. При использовании preCredProviderNuGet оказывает влияние только на то, что nuGetPath также установлен и является сигналом к ​​задаче, что используемая версия NuGet не сможет использовать поставщика учетных данных, поскольку провайдеры учетных данных плагинов не поддерживаются до v3. 2

Одно из предложений заключалось бы в том, чтобы многословие этой задачи было задано «Подробно» и повторить сборку. Вы найдете это в задаче NuGet Restore \ Advanced \ Verbosity.

+0

Спасибо за ответ, но это подробные журналы, которые заставляют меня думать, что этот параметр является ключевым. В сборках, которые работали, когда этот параметр не присутствовал, он будет записывать 'Настройка учетных данных для xyzFeed'. В сборках, которые не работают, где присутствует preCredProviderNuGet, для этого нет записи. Если он не установит учетные данные, тогда будет иметь смысл, что он не будет связывать/находить пакеты. Таким образом, этот параметр отключает шаг, задающий учетные данные. Поскольку в обеих сборках не было ни пути нуджера, ни ниже версии 3.2, я думаю, что этот параметр действует на что-то все равно. – rism