Visual Studio Team Services持续集成:NuGet Restore任务失败

时间:2016-04-22 21:37:01

标签: msbuild continuous-integration azure-devops nuget-package-restore azure-pipelines

我在Team Services中使用持续集成功能(是Visual Studio Online)。我的构建定义针对的是解决方案中的特定项目(不是整个解决方案),即ClientUI MVC网站。

该解决方案包含三个项目:

  1. ClientUI
  2. AdminUI
  3. 客户服务
  4. enter image description here

    ClientUI项目的构建定义:

    存储库

    enter image description here

    Nuget Installer 步骤: 我尝试了不同的参数,但没有工作。 enter image description here

    Visual Studio Build

    enter image description here

    在尝试定位单个项目之前,我的构建定义是使用以下参数定位整个解决方案:

    1. NuGet Installer - > 解决方案之路:** \ * .sln
    2. Visual Studio Build - > 解决方案:** \ * .sln; MSBuild Arguments :/ p:outdir=$(build.artifactstagingdirectory)
    3. 它正在运作。但是现在,它在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
      
      
      

3 个答案:

答案 0 :(得分:5)

尝试设置"安装类型"到"安装" for" Nuget Installer"任务,因为你正在使用" packages.config"安装包。 enter image description here

答案 1 :(得分:2)

对于任何好奇的人来说,关于"的错误来源请指定-PackagesDirectory或-SolutionDirectory"是构建过程试图发出类似这样的命令:

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

如果你想建立一个项目(而不是解决方案)和你的nuget"软件包,那么下面的截图应该有所帮助。文件夹处于解决方案级别。

此外,您可能需要将此指定为" MSBuild Argument"在项目的构建任务中:/ p:SolutionDir =" /"

The csproj is your "solution."

If your "packages" folder is at the solution-level, then you want to have that as the Destination directory.

答案 2 :(得分:0)

我有同样的事情通过更改映射将其排序 - 转到Repository选项卡,我的映射到另一个目录,这意味着nuget安装程序无法执行。