CI 构建定义中的新 .net core Visual Studio 2017 项目 nuget 恢复

Hun*_*Cao 5 c# nuget-package-restore .net-core azure-devops visual-studio-2017

目前,我正在Visual Studio 2017中开发.net core项目。我还需要在 VSTS 中设置 CI(持续集成)。

这是我的构建定义中的 nuget 恢复步骤

在此输入图像描述

但我的构建失败了,因为它无法恢复任何包。这是它的日志。它说“此解决方案中的项目均未指定任何包”。我知道在 VS2017 中他们改变了 nuget 包的处理方式。有人对此有想法或经验吗?

2017-03-22T20:25:11.9517911Z MSBuild auto-detection: using msbuild version '14.0' from 'C:\Program Files (x86)\MSBuild\14.0\bin'.
2017-03-22T20:25:11.9674167Z Nothing to do. None of the projects in this solution specify any packages for NuGet to restore.
2017-03-22T20:25:11.9830425Z ##[section]Finishing: NuGet restore **/*.sln
Run Code Online (Sandbox Code Playgroud)

我不想使用,dotnet restore因为微软这么说

.NET Core 的 dotnet Restore 命令当前不支持加密凭据。要将 VSTS NuGet 源与 dotnet 还原结合使用,您需要以纯文本形式指定个人访问令牌。

所以我不想存储我的个人访问令牌。 https://www.visualstudio.com/en-us/docs/package/nuget/auth#net-core

Ale*_*esD 3

您需要使用 NuGet 4.0。

从官方 NuGet 站点下载它。https://dist.nuget.org/index.html

将其放在具有构建代理的计算机上的文件夹中。

在 NuGet 还原步骤的高级设置中,将 NuGet 版本设置为自定义。

在“NuGet.exe 的路径”中指定放置 NuGet.exe 文件的路径。这是运行构建代理的计算机上的路径。我尝试使用相对路径但无法使其工作,所以最后我设置了绝对路径。如果您有多个具有不同路径的代理,这对您来说可能是个问题,因此您可能需要弄清楚如何正确指定相对路径。