Visual Studio Team Services Continuous Integration: NuGet Restore Task Failed

大兔子大兔子 提交于 2020-01-24 03:26:35

问题


I am using Continuous Integration feature in Team Services (was Visual Studio Online). My build definition targets a specific project in a solution (not the whole solution), which is ClientUI MVC website.

The solution contains three projects:

  1. ClientUI
  2. AdminUI
  3. Client Services

The Build Definition for ClientUI Project:

Repository:

Nuget Installer Step: I have tried different params but not working.

Visual Studio Build

Before trying to target the a single project, my build definition was targeting the whole solution with the following parameters:

  1. NuGet Installer -> Path to Solution: **\*.sln
  2. Visual Studio Build -> Solution: **\*.sln ; MSBuild Arguments: /p:outdir=$(build.artifactstagingdirectory)

It was working. However now, it generates this error in the Nugget Restore Task:

2016-04-22T21:07:00.6716725Z Set workingFolder to default: C:\LR\MMS\Services\Mms\TaskAgentProvisioner\Tools\agents\1.98.1\tasks\NuGetInstaller\0.1.25
2016-04-22T21:07:00.8163908Z Executing the powershell script: C:\LR\MMS\Services\Mms\TaskAgentProvisioner\Tools\agents\1.98.1\tasks\NuGetInstaller\0.1.25\NuGetInstaller.ps1


2016-04-22T21:07:01.5283529Z ##[error]Cannot find path 'C:\a\1\s\packages.config' because it does not exist.
2016-04-22T21:07:01.5439897Z C:\LR\MMS\Services\Mms\TaskAgentProvisioner\Tools\agents\1.98.1\agent\worker\tools\NuGet.exe restore "C:\a\1\s\packages.config"  -NonInteractive


2016-04-22T21:07:03.0441507Z MSBuild auto-detection: using msbuild version '14.0' from 'C:\Program Files (x86)\MSBuild\14.0\bin'.


2016-04-22T21:07:03.0597010Z ##[error]Cannot determine the packages folder to restore NuGet packages. Please specify either -PackagesDirectory or -SolutionDirectory.
2016-04-22T21:07:03.0909881Z ##[error]Unexpected exit code 1 returned from tool NuGet.exe

回答1:


Try setting "Installation type" to "Install" for "Nuget Installer" task since you are using "packages.config" to install the packages.




回答2:


For anyone curious, the source of the error about "Please specify either -PackagesDirectory or -SolutionDirectory" is that the build process is trying to issue a command similar to this:

C:\hostedtoolcache\windows\NuGet\4.4.1\x64\nuget.exe restore D:\a\1\s\MyProject\packages.config -PackagesDirectory packages -Verbosity Detailed -NonInteractive 

The below screenshots should help if you want to build a project (rather than the solution) and your nuget "packages" folder is at the solution-level.

Additionally, you may need to specify this as the "MSBuild Argument" in the build task of your project: /p:SolutionDir="/"




回答3:


I had the same thing sorted it out by changing the mapping - go to Repository tab, I had my mapping to another directory which means the nuget installer could not execute.



来源:https://stackoverflow.com/questions/36803687/visual-studio-team-services-continuous-integration-nuget-restore-task-failed

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!