You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从Cake迁移至Nuke:如何在Nuke中安装.NET工具?

解决Nuke中安装.NET CLI工具的问题

嘿,我刚从Cake迁移到Nuke的时候也踩过这个坑!你猜的完全没错——PackageExecutable属性确实是为传统NuGet工具包设计的,而你要安装的是.NET CLI工具,得用专门的配置方式。

正确的.NET CLI工具安装方式

在Nuke里,针对.NET CLI工具,你需要使用DotNetTool属性来声明工具,替换掉原来的PackageExecutable:

[DotNetTool(packageId: "my.package.id", Version = "1.0.1")]
readonly Tool MyPackagedTool;

几点补充说明:

  • DotNetTool会自动调用dotnet tool install命令来安装工具,不需要手动指定可执行文件名称(Nuke会自动识别工具包中的默认可执行文件);如果工具的可执行文件名和包ID不一致,你可以额外添加packageExecutable参数来指定。
  • 第一次运行构建脚本时,Nuke会自动下载并安装这个工具;你也可以手动执行nuke --restore命令,提前完成所有依赖(包括.NET工具)的恢复。
  • 如果你的工具托管在私有NuGet源上,请确保你的NuGet.config文件中配置了对应的源,或者在Nuke的构建配置中指定了正确的源地址。

和Cake方式的对应关系

你之前在Cake中使用的:

#tool dotnet:?package=my.package.id&version=1.0.1

就对应Nuke里的DotNetTool属性,两者都是基于.NET CLI的工具安装机制;而Cake中的#module nuget:或者#tool nuget:则对应Nuke的PackageExecutable属性,针对的是传统的NuGet工具包。

内容的提问来源于stack exchange,提问作者TheRoadrunner

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 09:37:40