我正在尝试让我的TeamCity服务器从NuGet中获取软件包,因此我不必在我的存储库中包含所有程序集。
最初一切似乎都有效,但是当MSBuild步骤启动时,无法找到所需的程序集/包。
我已将我的packages文件夹添加到我的存储库,并尝试启用我的项目“启用NuGet包恢复”,如下所示:
http://docs.nuget.org/docs/workflows/using-nuget-without-committing-packages
两者似乎都不起作用。当我查看工作目录()中的packages文件夹时,它是空的,所以没有选择包?
以下是nuget任务的日志:
[09:11:44][Step 1/2] install: Installing NuGet packages for ApplicationBoilerplate\packages.config
[09:11:44][install] NuGet command: C:\TeamCity\buildAgent\tools\NuGet.CommandLine.2.0.0.nupkg\tools\NuGet.exe install C:\TeamCity\buildAgent\work\76a8f67cab97e73b\ApplicationBoilerplate\packages.config -OutputDirectory C:\TeamCity\buildAgent\work\76a8f67cab97e73b\packages
[09:11:44][install] Starting: C:\TeamCity\buildAgent\temp\agentTmp\custom_script862718012095619696.cmd
[09:11:44][install] in directory: C:\TeamCity\buildAgent\work\76a8f67cab97e73b\ApplicationBoilerplate
[09:11:45][install] Process exited with code 0
packages文件夹是否应该保留为空(某种临时存储?)还是应该包含下载的包?
答案 0 :(得分:4)
从NuGet 2.0开始,您需要做的不仅仅是文档页面所描述的内容。这是blog about the change。
我写了一篇关于使用环境变量启用包恢复的帖子:Enable NuGet PackageRestore on CC.NET
Rob Reynolds创建了一个NuGet包,应该自动修复它,但我还没有尝试过。
NuGet Enable Package Restore (For Real) 2.0.0
如果您的TeamCity服务器无法访问网络,那么您可能也遇到此问题: