我们有一个包含多个项目的解决方案。一些项目安装了NuGet包,例如Json.NET。整个解决方案签入TFS版本控制,没有packages文件夹。我们根据in the Nuget documentation描述的“Nuget 2.7+方法”设置了自动包恢复(实际上我们没有设置那么多,因为默认情况下启用了所有这些)。
当我们在另一台计算机上构建此解决方案时,所有软件包都将恢复。
当我们在TFS 2013 Build服务器上构建此解决方案时,所有软件包也将恢复。
现在出现了问题:
当我们在TFS 2013构建服务器上创建构建时,它应该只构建解决方案中的一个项目(因此定位.csproj文件而不是.sln文件),nuget软件包不会被恢复!
任何人都可以告诉我为什么会这样,或者告诉我这是否是设计的?我真的不想构建整个解决方案,因为它只是一个小项目的发布版本,但我确实希望这些软件包能够自动恢复...
答案 0 :(得分:2)
我相信自动包恢复会挂钩到Build Solution事件。由于没有解决方案,因此无法触发恢复。
要构建单个项目,您可能需要创建一个仅引用该项目的新解决方案。