如何在Visual Studio Online Build定义中向NuGet传递参数?

4
我有一个包含多个项目的解决方案,已经提交到TFS(Visual Studio Team Services)。我只想要其中一个项目(及其依赖项)来构建和部署到我创建的Azure Web Site。根据此指南,我的解决方案和其项目遵循NuGet 2.7+自动软件包还原方法。在本地的Visual Studio 2013环境中,一切都按预期工作。
我使用此指南在Team Services中创建了一个非常基本的部署构建,但是由于NuGet,构建失败并出现以下错误:
****************************************************************************** 运行任务 ****************************************************************************** ****************************************************************************** 开始任务: 构建解决方案$/Path/To/My/Project.csproj ****************************************************************************** 执行powershell脚本: C:\LR\MMS\Services\Mms\TaskAgentProvisioner\Tools\agents\default\tasks\VSBuild\1.0.16\VSBuild.ps1 C:\LR\MMS\Services\Mms\TaskAgentProvisioner\Tools\agents\default\agent\worker\tools\NuGet.exe restore "C:\a\1\s\Path\To\My\Project.csproj" -NonInteractive MSBuild自动检测: 使用'MSBuild'版本'14.0',路径为'C:\Program Files (x86)\MSBuild\14.0\bin'。 无法确定软件包文件夹以还原NuGet软件包。请指定-PackagesDirectory或-SolutionDirectory。 工具NuGet.exe返回意外的退出代码1
我的问题是:我应该如何“指定-PackagesDirectory或-SolutionDirectory”?我找不到任何相关文档。
或者,也许我完全走错了路?
1个回答

6
您似乎采用了过时的NuGet包恢复方法(使用版本控制中的.nuget文件夹)。请参阅这篇博客文章,了解此方法的局限性。
如果您需要传递特定参数给nuget.exe以进行包恢复,则应使用单独的“NuGet Installer”任务,该任务有一个“NuGet Arguments”参数,您可以在其中提供更多选项来执行nuget.exe restore命令。
如果您使用“NuGet Installer”任务进行包恢复,则可以在“Visual Studio Build”任务中禁用“Restore NuGet Packages”选项。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接