Cake NuGetRestore 找不到 nuget.exe

问题描述

我创建了简单的 .NET5 控制台应用程序,可以使用“dotnet restore”和“dotnet run”成功运行。应用程序正在使用一个包 Newtonsoft.Json。

我想使用 NuGetRestore() 恢复 NuGet 包,但结果我得到“无法找到 nuget.exe”。 我在 1.1.0 版和认配置中使用 Cake .NET Tool。

据我所知,以前我在使用 Cake 时将 1.0.0 版 nuget.exe 下载到“工具”文件夹。

我错过了什么?如何确保 nuget.exe 是由 Cake 下载/提供的?

enter image description here

解决方法

为了将 NuGet 工具下载到 tools 文件夹,您需要在 Cake 构建脚本中包含 NuGet.CommandLine 包。例如

#tool nuget:?package=NuGet.CommandLine&version=5.9.1

相关信息:

,

Cake 本身从未下载过 nuget.exe。 example bootstrapper for Cake Runner for .NET Framework 在某些条件下执行此操作。 Example bootstrapper for Cake .NET Tool 不会下载 nuget.exe,您需要通过更新引导程序、在构建脚本中使用 tool prepocessor directive 或 Cake 之外的任何其他机制来确保自己可以使用它。