4

我有一个包含多个项目的解决方案签入到 TFS(Visual Studio 团队服务)。我只希望其中一个项目(以及它的依赖项)构建并部署到我创建的 Azure 网站。根据本指南,我的解决方案及其项目遵循 NuGet 2.7+ Automatic Package Restore 方法。在我的本地 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 恢复 "C:\a\1\s\Path\To\My\Project.csproj" -非交互式
MSBuild 自动检测:使用“C:\Program Files (x86)\MSBuild\14.0\bin”中的 msbuild 版本“14.0”。
无法确定要还原 NuGet 包的包文件夹。请指定 -PackagesDirectory 或 -SolutionDirectory。
从工具 NuGet.exe 返回的意外退出代码 1

我的问题是:我到底该怎么做specify either -PackagesDirectory or -SolutionDirectory?我找不到任何有关此的文档。

或者,也许我完全以错误的方式来解决这个问题?

4

1 回答 1

6

首先,您似乎使用过时的 NuGet 包还原方法(.nuget在版本控制中使用文件夹)。有关此方法的局限性的文章,请参阅此博客文章

如果您需要将特定参数传递nuget.exe给程序包还原,则应使用单独的“NuGet 安装程序”任务,该任务具有“NuGet 参数”参数,您可以在其中为nuget.exe restore命令提供更多选项。

如果使用“NuGet 安装程序”任务进行包还原,则可以禁用“Visual Studio 构建”任务中的“还原 NuGet 包”选项。

于 2016-01-24T22:02:44.637 回答