C#面试题更新 2026-08-05

请解释 .NET Core 中的全局工具是什么,并详细说明创建一个全局工具以及使用它的具体步骤。

编码实现技术原理C#.NET Core

考察说明

考查对.NET Core全局工具概念、创建流程及使用方法的理解。

回答思路

  1. 【回答框架 1】全局工具是.NET Core提供的一种特殊类型的控制台应用程序,它作为NuGet包分发,安装后可在任何目录下通过命令行直接调用。其本质是一个打包成NuGet包的可执行控制台应用,通过dotnet tool命令进行安装、卸载和更新。
  2. 【回答框架 2】创建全局工具的步骤:首先使用dotnet new console创建一个控制台项目;然后编辑项目文件,设置PackAsTool为true和ToolCommandName属性指定工具的命令名;接着使用dotnet pack命令生成NuGet包。
  3. 【回答框架 3】使用时,通过dotnet tool install --global命令指定包名和源进行安装,安装后即可在命令行直接运行工具命令。使用dotnet tool uninstall -g可卸载。
  4. 【回答框架 4】关键设计点:工具项目的输出类型必须是可执行文件,ToolCommandName对应运行时调用的命令,所有依赖随包发布,实现跨目录调用。
  5. 【回答框架 5】工具常用于开发辅助任务,如构建、测试或代码生成,且可通过NuGet源自定义分发。
  6. 【关键点 1】全局工具是打包为NuGet包的命令行应用,通过dotnet tool管理。
  7. 【关键点 2】创建步骤涉及配置PackAsTool和ToolCommandName。
  8. 【关键点 3】使用dotnet tool install --global安装,卸载用dotnet tool uninstall -g。
  9. 【关键点 4】工具可在任意目录执行,依赖随包分发。
  10. 【易错点 1】安装全局工具时若未指定源,可能从默认NuGet源下载,需注意版本兼容。
  11. 【易错点 2】工具命令名与现有命令冲突时会导致覆盖或错误,需检查唯一性。
  12. 【易错点 3】发布时未设置PackAsTool会导致包无法作为工具安装。