NuGet省略了一些包,但通过VS2017逐个项目手动恢复它们是成功的

NuGet省略了一些包,但通过VS2017逐个项目手动恢复它们是成功的,nuget,azure-pipelines,Nuget,Azure Pipelines,我在VSTS中为我们的项目创建了一个构建定义。 在NuGet安装程序步骤中,我指定: Path to solution or packages.config: DirectoryName/AppServer/.nuget/NuGet.Config Path to NuGet.config: DirectoryName/AppServer/.nuget/NuGet.Config Installation type: Restore NuGet arguments: -PackagesDirecto

我在VSTS中为我们的项目创建了一个构建定义。 在NuGet安装程序步骤中,我指定:

Path to solution or packages.config: DirectoryName/AppServer/.nuget/NuGet.Config
Path to NuGet.config: DirectoryName/AppServer/.nuget/NuGet.Config
Installation type: Restore
NuGet arguments: -PackagesDirectory DirectoryName\SDK\NuGet\packages
NuGet Version: 3.3.0
当我运行构建执行时,我在控制台上获得信息:

2017-07-31T11:39:10.2496191Z ##[section]Starting: NuGet restore DirectoryName/AppServer/AppServer.sln
2017-07-31T11:39:10.2808709Z ==============================================================================
2017-07-31T11:39:10.2808709Z Task         : NuGet Installer
2017-07-31T11:39:10.2808709Z Description  : Installs or restores missing NuGet packages
2017-07-31T11:39:10.2808709Z Version      : 0.2.31
2017-07-31T11:39:10.2808709Z Author       : Microsoft Corporation
2017-07-31T11:39:10.2808709Z Help         : [More Information](https://go.microsoft.com/fwlink/?LinkID=613747)
它恢复了很多包,但有些包没有恢复。没有抛出错误,没有警告,它们只是被忽略,这会导致生成解决方案任务失败


但是,当我登录到虚拟机Azure并在Visual Studio 2017中打开解决方案,逐个单击其中的每个项目,然后右键单击它,然后还原NuGet软件包时,所有内容都已成功下载。然后,在我在获取源代码步骤中将Clean设置为false的情况下,生成定义执行是成功的。

这引起了我的注意:

然后逐个点击其中的每个项目

这可能与您的VSTS自动化所做的不同,是吗

一个可能的原因是您的一个项目正在引用其packages文件夹中的nuget资源,但packages.config中缺少该引用。如果某个其他项目正确引用了该包,那么它恰好神奇地可用,但只有在有人首先编译了该项目时才可用。如果未生成该项目,则错误配置的项目也会失败

因此,我建议您:

检查生成错误以确定是哪个包引起了问题 验证是否在失败项目的packages.config中正确设置了给定的包,并从正确的文件夹版本匹配加载了资源。 此外,您应该验证日志和生成错误,而不是手动编译每个项目,而是复制生成服务器正在执行的确切步骤。通常是清理和构建整个解决方案。

尝试使用NuGet 4.0.0版本。请在NuGet安装程序任务的高级部分指定它

另一方面,有1.*和2.*版本的NuGet task可用,您可以使用最新版本的task


你能把详细记录贴在这里吗?另一方面,您所说的解决方案路径或packages.config:DirectoryName/AppServer/.nuget/nuget.config,它是solution或packages.config,您是否有错误?如果在solution或packages.config的路径中指定解决方案,结果会是什么?另一方面,有.nuget文件夹,您是否将vs2013项目升级到VS2017?您是否解决了此问题?如果没有,你能在这里分享详细的构建日志吗?