我在Team Services中使用持续集成功能(是Visual Studio Online)。我的构建定义针对的是解决方案中的特定项目(不是整个解决方案),即ClientUI MVC网站。
该解决方案包含三个项目:
ClientUI项目的构建定义:
存储库:
Nuget Installer 步骤: 我尝试了不同的参数,但没有工作。
Visual Studio Build
在尝试定位单个项目之前,我的构建定义是使用以下参数定位整个解决方案:
它正在运作。但是现在,它在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

答案 0 :(得分:5)
尝试设置"安装类型"到"安装" for" Nuget Installer"任务,因为你正在使用" packages.config"安装包。
答案 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 =" /"
答案 2 :(得分:0)
我有同样的事情通过更改映射将其排序 - 转到Repository选项卡,我的映射到另一个目录,这意味着nuget安装程序无法执行。