首页 文章

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

提问于
浏览
4

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

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

  • ClientUI

  • AdminUI

  • 客户服务

enter image description here

ClientUI项目的构建定义:

Repository

enter image description here

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

Visual Studio Build

enter image description here

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

  • NuGet安装程序 - >解决方案的路径:** \ * .sln

  • Visual Studio Build - >解决方案:** \ * .sln; MSBuild参数:/p:outdir=$(build.artifactstagingdirectory)

它工作正常 . 但是现在,它会在Nugget Restore任务中生成此错误:

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

    尝试将"Installation type"设置为"Install" for "Nuget Installer"任务,因为您使用"packages.config"来安装软件包 .
    enter image description here

  • 5

    对于任何好奇的人,关于“请指定-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“packages”文件夹处于解决方案级别,则以下屏幕截图应该会有所帮助 .

    此外,您可能需要在项目的构建任务中将其指定为“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

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

相关问题