如何指定哪个版本的 nuget.exe 与 Azure DevOps 中的自托管代理一起使用?
How to specify which version of nuget.exe to use with self-hosted agent in Azure DevOps?
我是 运行 自托管代理,NuGetToolInstaller
总是抛出错误 ERR:unable to get local issuer certificate
。
我找到了一个修复程序 here。只需将需要的 nuget.exe
版本下载到机器,将其添加到环境变量并完全删除 NuGetToolInstaller
。它解决了这个问题,但今天我明白了,事实并非如此。
目前,我有 nuget.exe version 5.6.0
,所以我认为自托管代理正在使用它,但是...
同时 运行 Initialize Job
Azure 下载 NuGetCommand
我找到了这个位置,可以看到它下载了三个不同版本的 nuget.exe
并且它始终对任何 NuGetCommand 使用 4.1.0
。
如果没有 NuGetToolInstaller
,如何指定要使用的 NuGet 版本?
或者如何使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)'
从管道日志来看,nuget 任务似乎默认使用 v4.1:
如果您不想使用 NuGetToolInstaller
任务,一种解决方法是将 nuget.exe 替换为您要在 {agent work folder}\_tool\NuGet.1.0\x64
文件夹中使用的版本。
我是 运行 自托管代理,NuGetToolInstaller
总是抛出错误 ERR:unable to get local issuer certificate
。
我找到了一个修复程序 here。只需将需要的 nuget.exe
版本下载到机器,将其添加到环境变量并完全删除 NuGetToolInstaller
。它解决了这个问题,但今天我明白了,事实并非如此。
目前,我有 nuget.exe version 5.6.0
,所以我认为自托管代理正在使用它,但是...
同时 运行 Initialize Job
Azure 下载 NuGetCommand
我找到了这个位置,可以看到它下载了三个不同版本的 nuget.exe
并且它始终对任何 NuGetCommand 使用 4.1.0
。
如果没有 NuGetToolInstaller
,如何指定要使用的 NuGet 版本?
或者如何使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)'
从管道日志来看,nuget 任务似乎默认使用 v4.1:
如果您不想使用 NuGetToolInstaller
任务,一种解决方法是将 nuget.exe 替换为您要在 {agent work folder}\_tool\NuGet.1.0\x64
文件夹中使用的版本。