这是我原来的YML文件。
trigger:
- master
pool:
vmImage: 'Ubuntu-16.04'
variables:
buildConfiguration: 'Release'
steps:
- task: NuGetToolInstaller@0
displayName: "NuGet use 4.9.3"
inputs:
versionSpec: 4.9.3
- task: DotNetCoreInstaller@0
inputs:
version: '2.2.104'
- task: NuGetCommand@2
displayName: "NuGet Restore"
inputs:
restoreSolution: '**/*.csproj'
- task: DotNetCoreCLI@2
displayName: ".NET build"
inputs:
projects: '**/*.csproj'
arguments: --configuration $(BuildConfiguration) --no-restore
- task: DotNetCoreCLI@2
displayName: ".NET publish package"
inputs:
command: publish
arguments: '--configuration $(BuildConfiguration) --no-restore --output $(Build.ArtifactStagingDirectory)/app/pkg'
这是我为Nuget Restore步骤获得的输出。
[部分]开始:NuGet恢复=========================================== ===================================任务:NuGet描述:恢复,打包或推送NuGet包,或者运行NuGet命令。支持NuGet.org和经过身份验证的Feed,例如Package Management和MyGet。使用NuGet.exe并与.NET Framework应用程序一起使用。对于.NET Core和.NET Standard应用程序,请使用.NET Core任务。版本:2.147.6作者:微软公司帮助:More Information ====================================== ========================================缓存工具:NuGet 4.1.0 x64找到的工具在缓存中:NuGet 4.1.0 x64从工具缓存中解决:4.1.0使用版本:4.1.0在缓存中找到工具:NuGet 4.1.0 x64
如何禁用“工具缓存”?它使用的是4.1.0而不是4.9.3。
更新:根据评论的建议,我更新了我的YML文件。
trigger:
- master
pool:
vmImage: 'vs2017-win2016'
variables:
buildConfiguration: 'Release'
steps:
- task: DotNetCoreCLI@2
inputs:
command: restore
- task: DotNetCoreCLI@2
displayName: ".NET build"
inputs:
projects: '**/*.csproj'
arguments: --configuration $(BuildConfiguration) --no-restore
- task: DotNetCoreCLI@2
displayName: ".NET publish package"
inputs:
command: publish
arguments: '--configuration $(BuildConfiguration) --no-restore --output $(Build.ArtifactStagingDirectory)/app/pkg'
我仍然得到错误。
它仍在做同样的事情。
启动NuGet还原
任务:NuGet描述:恢复,打包或推送NuGet包,或运行NuGet命令。支持NuGet.org和经过身份验证的Feed,例如Package Management和MyGet。使用NuGet.exe并与.NET Framework应用程序一起使用。对于.NET Core和.NET Standard应用程序,请使用.NET Core任务。版本:2.147.6作者:Microsoft Corporation帮助:更多信息,请访问://go.microsoft.com/fwlink/?LinkID = 613747
缓存工具:NuGet 4.1.0 x64在缓存中找到工具:NuGet 4.1.0 x64从工具缓存中解析:4.1.0使用版本:4.1.0在缓存中找到工具:NuGet 4.1.0 x64 SYSTEMVSSCONNECTION存在true SYSTEMVSSCONNECTION存在true [命令] C:\ windows \ system32 \ chcp.com 65001活动代码页:65001检测到NuGet版本4.1.0.2450 / 4.1.0 SYSTEMVSSCONNECTION存在true将NuGet.config保存到临时配置文件。 [command] C:\ hostedtoolcache \ windows \ NuGet \ 4.1.0 \ x64 \ nuget.exe sources Add -NonInteractive -Name NuGetOrg -Source https://www.nuget.org/api/v2/ -ConfigFile d:\ a \ 1 \ Nuget \ tempNuGet_57.config Package Source with Name: NuGetOrg成功添加。将NuGet.config保存到临时配置文件。
为什么它甚至不再在我的YML文件中进行Nuget Restore?
工具安装程序和NuGet任务更适合Windows机器。由于您使用的是Ubuntu代理,只需使用dotnet restore
命令:
- task: DotNetCoreCLI@2
inputs:
command: restore
这对我有用
- task: NuGetToolInstaller@0
displayName: 'Use NuGet 4.9.x'
inputs:
versionSpec: 4.9.x
- task: NuGetCommand@2
displayName: 'NuGet restore'
inputs:
restoreSolution: '$(Pipeline.TriggerDirectory)/Library.sln'
vstsFeed: '[your feed here]'
noCache: true
[section]开始:使用NuGet 4.9.x. ================================================== =======================任务:NuGet工具安装程序 描述:从互联网或工具缓存中获取特定版本的NuGet,并将其添加到PATH。使用此任务可以更改NuGet任务中使用的NuGet版本。 版本:0.145.0 作者:微软公司 帮助:More Information ================================================== =======================您正在使用版本字符串上的查询匹配项。当NuGet更新到新版本时,可能会发生行为更改或中断更改。正在下载:https://dist.nuget.org/win-x86-commandline/v4.9.3/nuget.exe 缓存工具:NuGet 4.9.3 x64 使用版本:4.9.3 在缓存中找到工具:NuGet 4.9.3 x64 使用工具路径:C:\ hostedtoolcache \ windows \ NuGet \ 4.9.3 \ x64使用目录预先填充PATH环境变量:C:\ hostedtoolcache \ windows \ NuGet \ 4.9.3 \ x64 [部分]整理:使用NuGet 4.9.x.
[部分]开始:NuGet恢复=========================================== ==============================任务:NuGet 描述:恢复,打包或推送NuGet包,或运行NuGet命令。支持NuGet.org和经过身份验证的Feed,例如Package Management和MyGet。使用NuGet.exe并与.NET Framework应用程序一起使用。对于.NET Core和.NET Standard应用程序,请使用.NET Core任务。 版本:2.147.6 作者:微软公司 帮助:More Information ================================================== ======================= SYSTEMVSSCONNECTION存在 SYSTEMVSSCONNECTION存在为true [命令] C:\ windows \ system32 \ chcp.com 65001 活动代码页:65001 检测到NuGet版本4.9.3.5777 / 4.9.3 + e5150f1e119e456e01c4f1e413213d392eda1c3a SYSTEMVSSCONNECTION存在为true 将NuGet.config保存到临时配置文件。 [命令] C:\ hostedtoolcache \ Windows \的NuGet \ 4.9.3 \ 64 \ nuget.exe