#azure-devops #nuget #azure-pipelines #nuget-package
#azure-devops #nuget #azure-конвейеры #nuget-пакет
Вопрос:
Я запускаю автономный агент и NuGetToolInstaller
всегда выдавал ошибку ERR:unable to get local issuer certificate
.
Я нашел исправление здесь. Просто загрузите необходимую nuget.exe
версию на компьютер, добавьте ее в переменные среды и удалите NuGetToolInstaller
вообще. Это устранило проблему, но сегодня я понял, что на самом деле это не так.
В настоящее время у меня есть nuget.exe version 5.6.0
, поэтому я думал, что автономный агент использует ее, но…
Во время работы Initialize Job
Azure загружает NuGetCommand
Я нашел местоположение и вижу, что оно загружает три разные версии nuget.exe
И он всегда использует 4.1.0
для любой NuGetCommand.
Как я могу указать, без какой версии NuGet использовать NuGetToolInstaller
?
Или как сделать так, чтобы Initialize Job
не загружалось ничего nuget.exe
, а просто использовать ту, которая доступна в системе?
Для тестирования я удалил все из yaml
, и это выглядит следующим образом:
trigger:
- master
pool:
name: somePool
jobs:
- job: someJob
variables:
solution: '**/*.sln'
buildPlatform: 'Any CPU'
buildConfiguration: 'Release'
steps:
- task: NuGetCommand@2
inputs:
restoreSolution: '$(solution)'
Ответ №1:
Из журнала конвейера кажется, что задача nuget использует версию 4.1 по умолчанию:
Если вы не хотите использовать NuGetToolInstaller
task, одним из обходных путей является замена nuget.exe с версией, которую вы хотите использовать в {agent work folder}_toolNuGet4.1.0x64
папке.
Комментарии:
1. Это работает, но это взлом. Если никто не предложит какую-нибудь реальную конфигурацию, я пометлю это как правильную.