CLI全称Command Line Interface 命令行接口,.NET 命令行接口 (CLI) 工具是用于开发、生成、运行和发布 .NET 应用程序的跨平台工具链。它是.NET Core 的核心组件之一,整个CLI项目不同的语言开发的多个工具组成,一个工具dotnet,项目管理、项目构建、代码运行、包管理。.NET 命令行接口 (CLI) 工具只适用于 .NET Core 2.1 SDK 及更高版本。做跨平台开发建议学习CLI命令,如果要你在linux上操作.NET那么CLI命令就能体现它的优势了,说白了它是用命令行来执行.NET的各种操作。.
怎么执行呢?
很简单,只要安装了.NET Core 2.0 以上SDK的环境直接打开CMD就可以执行命令,或者用Developer PowerShell执行。CLI 命令结构包含驱动程序(“dotnet”)和命令,还可能包含命令参数和选项。
dotnet <TEMPLATE> -<TEMPLATE> --<TEMPLATE>
例如创建一个控制台程序:
//创建项目名称为test001的控制台程序
dotnet new console -n --test001
这样就在D盘test文件夹下创建了一个控制台应用。如下
如何编译这个项目:
//编译这个项目到buildtest001文件夹下
dotnet build -o buildtest001
编译后的生成的文件
如何运行这个控制台项目:
dotnet run /buildtest001/test001.dll
成功运行,并打印了Hello, World!
.NET 命令行接口 (CLI) 命令说明如下:
常规
命令 | 函数 |
---|---|
dotnet build | 生成 .NET 应用程序。 |
dotnet build-server | 与通过生成启动的服务器进行交互。 |
dotnet clean | 清除生成输出。 |
dotnet help | 显示命令更详细的在线文档。 |
dotnet migrate | 将有效的预览版 2 项目迁移到 .NET Core SDK 1.0 项目。 |
dotnet msbuild | 提供对 MSBuild 命令行的访问权限。 |
dotnet new | 为给定的模板初始化 C# 或 F# 项目。 |
dotnet pack | 创建代码的 NuGet 包。 |
dotnet publish | 发布 .NET 依赖于框架或独立应用程序。 |
dotnet restore | 还原给定应用程序的依赖项。 |
dotnet run | 从源运行应用程序。 |
dotnet sdk check | 显示已安装 SDK 和运行时版本的最新状态。 |
dotnet sln | 用于添加、删除和列出解决方案文件中项目的选项。 |
dotnet store | 将程序集存储到运行时包存储区。 |
dotnet test | 使用测试运行程序运行测试。 |
项目引用
命令 | 函数 |
---|---|
dotnet add reference | 添加项目引用。 |
dotnet list reference | 列出项目引用。 |
dotnet remove reference | 删除项目引用。 |
NuGet 包
命令 | 函数 |
---|---|
dotnet add package | 添加 NuGet 包。 |
dotnet remove package | 删除 NuGet 包。 |
NuGet 命令
命令 | 函数 |
---|---|
dotnet nuget delete | 从服务器删除或取消列出包。 |
dotnet nuget push | 将包推送到服务器,并将其发布。 |
dotnet nuget locals | 清除或列出本地 NuGet 资源,例如 http 请求缓存、临时缓存或计算机范围的全局包文件夹。 |
dotnet nuget add source | 添加 NuGet 源。 |
dotnet nuget disable source | 禁用 NuGet 源。 |
dotnet nuget enable source | 启用 NuGet 源。 |
dotnet nuget list source | 列出所有已配置的 NuGet 源。 |
dotnet nuget remove source | 删除 NuGet 源。 |
dotnet nuget update source | 更新 NuGet 源。 |
工作负载命令
命令 | 函数 |
---|---|
dotnet workload install | 安装可选的工作负载。 |
dotnet workload list | 列出已安装的所有工作负载。 |
dotnet workload repair | 修复所有已安装的工作负载。 |
dotnet workload search | 列出所选工作负载或所有可用的工作负载。 |
dotnet workload uninstall | 卸载工作负载。 |
dotnet workload update | 重新安装所有已安装的工作负载。 |
全局、工具路径和本地工具命令
工具是控制台应用程序,它们从 NuGet 包中安装并从命令提示符处进行调用。你可自行编写工具,也可安装由第三方编写的工具。工具也称为全局工具、工具路径工具和本地工具。有关详细信息,请参阅 .NET 工具概述。
命令 | 函数 |
---|---|
dotnet tool install | 在计算机上安装工具。 |
dotnet tool list | 列出计算机上当前安装的所有全局、工具路径或本地工具。 |
dotnet tool search | 在 NuGet.org 中搜索其名称或元数据中具有指定搜索词的工具。 |
dotnet tool uninstall | 从计算机中卸载工具。 |
dotnet tool update | 更新计算机上安装的工具。 |
其他工具
以下附加工具作为 .NET SDK 的一部分提供:
工具 | 函数 |
---|---|
dev-certs | 创建和管理开发证书。 |
ef | Entity Framework Core 命令行工具。 |
user-secrets | 管理开发用户机密。 |
watch | 当应用程序检测到源代码中的更改时,重新启动或热重新加载应用程序的文件观察程序。 |
有关每个工具的详细信息,请键入 dotnet <tool-name> --help
。
结语
.NET 命令行接口 (CLI) 工具通过命令行的方式实现了.NET的各种骚操作。作为跨平台开发者,学习CLI命令也可以让程序运行在多个平台上,方便跨平台部署调试测试等,这也让开发者在不需要打开编辑器的情况实现各种功能。如果对于CLI有啥看法,欢迎留言讨论。