说明:本文是个人翻译文章,由于个人水平有限,有不对的地方请大家帮忙更正。
原文:翻译:
什么是 .NET Core 命令行界面(CLI)?
.NET Core CLI 是开发 .NET Core 应用程序的一个新的跨平台工具链的基础。它是“基础”的原因时它是在其它的、高级别工具的主要层,如集成开发环境(IDEs),由编辑器和构建者组成。
默认它是跨平台的,并且对支持的每个平台有相同的表现范围。这意味着,当你学会如何使用工具,你可以从任何支持的平台上以同样的方式使用它。
安装
和其他工具一样,第一件事就是获取工具到你的机器上。根据你的情况,你可以使用本地安装程序安装 CLI 或使用安装脚本。
本地安装程序主要是用于开发的机器。CLI 是分别使用每个支持的平台的原生安装机制,例如在 Ubuntu 上的 DEB 包,或者在 Windows 上的 MSI 包。这些安装程序将安装和安装后用户立即使用 CLI 的需要设置环境。然而,在机器上它们也需要的管理特权。你可以在 查看安装说明。
安装脚本,另一方面,不需要管理权限。然而,它们也将不安装任何必备的事物在机器上;你需要手动安装所有的必备的事物。脚本是用于安装建立服务器或当你没有管理特权时希望安装工具(请注意上面提示的必备的事物)。你可以在 找到更多的信息。如果你对如何在持续集成(CI)生成服务器上配置 CLI,请查看 文档。
默认情况下,CLI 将以一个并行的(SxS)方式安装。这意味着的多个版本的 CLI 工具可以在一台机器上在任何给定的时间共存。如何正确的解释学会使用,在下面的 驱动部分 是更详细的说明。
CLI 有哪些命令?
默认情况下安装以下命令:
也有一种方法可以在每个项目基础上导入更多的命令,以及添加自己的命令。这是更详细的说明在 可扩展性部分。
使用 CLI 工作
一个简短的例子
在我们进入其它更多细节之前,让我们看看如何使用 CLI 工作,看起来像来自 10,000 英寸的视图。
下面的示例使用来自正常安装的 CLI 几个命令,初始化一个新的、简单的控制台应用程序,还原依赖项,生成应用程序并运行它。dotnet newdotnet restoredotnet build --output /stuffdotnet /stuff/new.dll
它如何工作?
正如 上面 看到的简短的示例,当你使用 CLI 工具时有一个模式。在这个模式中,我们可以识别每个命令的三个主要部分:
驱动程序(“dotnet”)
命令或者 “verb”
命令参数
让我们深入到上面每个的更多细节。
驱动程序
驱动程序被命名为 dotnet
。它是你调用的第一部分。这个驱动程序有两个功能:
执行 IL 代码
执行动词(verb)
它所做的两件事依赖于在命令行上指定的东西。在第一种情况下,你可以指定一个 IL 程序集,dotnet
运行类似这个:dotnet /path/to/your.dll
。
在第二种情况下,该驱动程序试图调用指定的命令。这将开启 CLI 命令执行进程。首选,该驱动程序将确定你想要的工具的版本。你可以在 global.json
文件中使用 sdkVersion
属性指定版本。如果那个不可用,该驱动程序将查找已经在磁盘上安装的工具的最新版本并将使用该版本。一旦版本被确定,它将执行命令。
“动词”
动词是简单的执行操作命令。dotnet build
将生成代码。dotnet publish
将发布代码。动词被实现是作为一个按每一个约定命名的控制台应用程序:dotnet-{verb}
。所有的逻辑是表示动词的控制台应用程序实现的。
参数
在命令行上传递的参数是实际调用的 verb/command 的参数。
例如,当你键入dotnet publish --output publishedapp
,--output
参数被传递给 publish
命令。 可移植应用程序的类型
CLI 使应用程序可以移植在两个主要方面:
完全可移植的应用可以在任何安装 .NET Core 地方运行
独立的应用程序
你可以在 主题了解更多有关这两种。
从 DNX 迁移
如果你使用 .NET Core RC1 DNX,你可能想知道发生了什么和这些新工具与 DNX 工具如何有联系。总而言之,DNX 工具已经被 .NET Core CLI 工具代替了。
如果你有已存在的项目,或者是仅仅想知道命令如何映射,你可以使用 来获取所有的详细信息。扩展性
当然,不是每一个工具你可以使用你的工作将是 core CLI 工具的一部分。但是,.NET Core CLI 具有扩展模式,允许你为你的项目指定额外的工具。你可以在 查出更多信息。
更多资源
这是 CLI 的最重要的一个特征的简短概述。在这个网站你可以找到更多的使用参考和概念主题。也有其他的资源你可以使用: