说明:本文是个人翻译文章,由于个人水平有限,有不对的地方请大家帮忙更正。

原文:.NET Core Command Line Tools

翻译:.NET Core命令行工具

什么是 .NET Core 命令行界面(CLI)?

.NET Core CLI 是开发 .NET Core 应用程序的一个新的跨平台工具链的基础。它是“基础”的原因时它是在其它的、高级别工具的主要层,如集成开发环境(IDEs),由编辑器和构建者组成。

默认它是跨平台的,并且对支持的每个平台有相同的表现范围。这意味着,当你学会如何使用工具,你可以从任何支持的平台上以同样的方式使用它。

安装

和其他工具一样,第一件事就是获取工具到你的机器上。根据你的情况,你可以使用本地安装程序安装 CLI 或使用安装脚本。

本地安装程序主要是用于开发的机器。CLI 是分别使用每个支持的平台的原生安装机制,例如在 Ubuntu 上的 DEB 包,或者在 Windows 上的 MSI 包。这些安装程序将安装和安装后用户立即使用 CLI 的需要设置环境。然而,在机器上它们也需要的管理特权。你可以在 .NET Core 开始页 查看安装说明。

安装脚本,另一方面,不需要管理权限。然而,它们也将不安装任何必备的事物在机器上;你需要手动安装所有的必备的事物。脚本是用于安装建立服务器或当你没有管理特权时希望安装工具(请注意上面提示的必备的事物)。你可以在 安装脚本参考主题 找到更多的信息。如果你对如何在持续集成(CI)生成服务器上配置 CLI,请查看 CLI 和 CI 服务器 文档。

默认情况下,CLI 将以一个并行的(SxS)方式安装。这意味着的多个版本的 CLI 工具可以在一台机器上在任何给定的时间共存。如何正确的解释学会使用,在下面的 驱动部分 是更详细的说明。

CLI 有哪些命令?

默认情况下安装以下命令:

也有一种方法可以在每个项目基础上导入更多的命令,以及添加自己的命令。这是更详细的说明在 可扩展性部分

使用 CLI 工作

一个简短的例子

在我们进入其它更多细节之前,让我们看看如何使用 CLI 工作,看起来像来自 10,000 英寸的视图。

下面的示例使用来自正常安装的 CLI 几个命令,初始化一个新的、简单的控制台应用程序,还原依赖项,生成应用程序并运行它。

dotnet new
dotnet restore
dotnet build --output /stuff
dotnet /stuff/new.dll

它如何工作?

正如 上面 看到的简短的示例,当你使用 CLI 工具时有一个模式。在这个模式中,我们可以识别每个命令的三个主要部分:

  1. 驱动程序(“dotnet”)
  2. 命令或者 “verb”
  3. 命令参数

让我们深入到上面每个的更多细节。

驱动程序

驱动程序被命名为 dotnet。它是你调用的第一部分。这个驱动程序有两个功能:

  1. 执行 IL 代码
  2. 执行动词(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 使应用程序可以移植在两个主要方面:

  1. 完全可移植的应用可以在任何安装 .NET Core 地方运行
  2. 独立的应用程序

你可以在 应用程序类型描述 主题了解更多有关这两种。

从 DNX 迁移

如果你使用 .NET Core RC1 DNX,你可能想知道发生了什么和这些新工具与 DNX 工具如何有联系。总而言之,DNX 工具已经被 .NET Core CLI 工具代替了。

如果你有已存在的项目,或者是仅仅想知道命令如何映射,你可以使用 DNX 迁移到 CLI 文档 来获取所有的详细信息。

扩展性

当然,不是每一个工具你可以使用你的工作将是 core CLI 工具的一部分。但是,.NET Core CLI 具有扩展模式,允许你为你的项目指定额外的工具。你可以在 可扩展性文档 查出更多信息。

更多资源

这是 CLI 的最重要的一个特征的简短概述。在这个网站你可以找到更多的使用参考和概念主题。也有其他的资源你可以使用:

『.NET Core CLI工具文档』(一).NET Core 命令行工具(CLI)的更多相关文章

  1. 『.NET Core CLI工具文档』(九)dotnet-run

    说明:本文是个人翻译文章,由于个人水平有限,有不对的地方请大家帮忙更正. 原文:dotnet-run 翻译:dotnet-run 名称 dotnet-run -- 没有任何明确的编译或启动命令运行&q ...

  2. 『.NET Core CLI工具文档』(十一)dotnet-test

    说明:本文是个人翻译文章,由于个人水平有限,有不对的地方请大家帮忙更正. 原文:dotnet-test 翻译:dotnet-test 名称 dotnet-test - 使用配置的测试运行器运行单元测试 ...

  3. 『.NET Core CLI工具文档』(六)dotnet 命令

    说明:本文是个人翻译文章,由于个人水平有限,有不对的地方请大家帮忙更正. 原文:dotnet command 翻译:dotnet 命令 名称 dotnet -- 运行命令行命令的一般驱动程序 概要 d ...

  4. 『.NET Core CLI工具文档』(二).NET Core 工具遥测(应用信息收集)

    说明:本文是个人翻译文章,由于个人水平有限,有不对的地方请大家帮忙更正. 原文:.NET Core Tools Telemetry 翻译:.NET Core 工具遥测(应用信息收集) .NET Cor ...

  5. 『.NET Core CLI工具文档』(八)dotnet-restore

    说明:本文是个人翻译文章,由于个人水平有限,有不对的地方请大家帮忙更正. 原文:dotnet-restore 翻译:dotnet-restore 名称 dotnet-restore - 还原一个项目的 ...

  6. 『.NET Core CLI工具文档』(七)dotnet-new

    说明:本文是个人翻译文章,由于个人水平有限,有不对的地方请大家帮忙更正. 原文:dotnet-new 翻译:dotnet-new 名称 dotnet-new -- 创建一个新的 .NET Core 项 ...

  7. 『.NET Core CLI工具文档』(十四)dotnet-install 脚本参考

    说明:本文是个人翻译文章,由于个人水平有限,有不对的地方请大家帮忙更正. 原文:dotnet-install scripts reference 翻译:dotnet-install 脚本参考 名称 d ...

  8. 『.NET Core CLI工具文档』(十)dotnet-build

    说明:本文是个人翻译文章,由于个人水平有限,有不对的地方请大家帮忙更正. 原文:dotnet-build 翻译:dotnet-build 名称 dotnet-build -- 生成项目和所有的依赖 概 ...

  9. 『.NET Core CLI工具文档』(十三)dotnet-publish

    说明:本文是个人翻译文章,由于个人水平有限,有不对的地方请大家帮忙更正. 原文:dotnet-publish 翻译:dotnet-publish 名称 dotnet-publish - 打包应用程序及 ...

随机推荐

  1. CSharpGL(33)使用uniform块来优化对uniform变量的读写

    CSharpGL(33)使用uniform块来优化对uniform变量的读写 +BIT祝威+悄悄在此留下版了个权的信息说: Uniform块 如果shader程序变得比较复杂,那么其中用到的unifo ...

  2. Effective前端2:优化html标签

    div { float: left; } .keyboard > div + div { margin-left: 8px; } --> div{display:table-cell;ve ...

  3. 我大中华微软MVP中国区人才库

    刘海峰:国内知名微软开源技术网站51Aspx 创始人,十年以上的Asp.net从业经验,微软MSDN特约讲师.Teched讲师.ImagineCup大赛评委.人大出版社研修班特约讲师,曾多次受邀访问美 ...

  4. 【C#公共帮助类】 ToolsHelper帮助类

    这个帮助类,目前我们只用到了两个,我就先更新这两个,后面有用到的,我会继续更新这个Helper帮助类 在Tools.cs中 有很多方法 跟Utils里是重复的,而且Utils里的方法更加新一点,大家可 ...

  5. Android Studio快捷键

      一.android studio 默认快捷键 刚开始接触一款开发软件,想必很想了解它的快捷方式,这会对你的编程起到很好的帮助,提高工作效率,接下来给你介绍下Android Studio一些常用的快 ...

  6. iOS 原生地图地理编码与反地理编码

    当我们要在App实现功能:输入地名,编码为经纬度,实现导航功能. 那么,我需要用到原生地图中的地理编码功能,而在Core Location中主要包含了定位.地理编码(包括反编码)功能. 在文件中导入 ...

  7. 远程连接mysql 1130错误解决方法

  8. Win10连接远程桌面时提示“您的凭据不工作”

    我遇到这个问题的时候查找网上都给出一堆高大上的解决办法, 然而我的错误实际上是用户名的问题, 很多人以为远程用户名就一定是锁屏状态下的登录名, 其实不是,跟自己设置有关,所以首先应该检查远程用户名是否 ...

  9. x01.os.22: ubuntu 常用设置

    新组装了个 64 位电脑,i5 CPU,进入 ubuntu 后,又是一通搜索设置,整理如下,以备后用. 安装 .dep 包 sudo dpkg -i [filename.dep] 在 ubuntu 中 ...

  10. Redola.Rpc 的一个小目标

    Redola.Rpc 的一个小目标 Redola.Rpc 的一个小目标:20000 tps. Concurrency level: 8 threads Complete requests: 20000 ...