『.NET Core CLI工具文档』(一).NET Core 命令行工具(CLI)
说明:本文是个人翻译文章,由于个人水平有限,有不对的地方请大家帮忙更正。
原文:.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 工具时有一个模式。在这个模式中,我们可以识别每个命令的三个主要部分:
- 驱动程序(“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 工具代替了。
如果你有已存在的项目,或者是仅仅想知道命令如何映射,你可以使用 DNX 迁移到 CLI 文档 来获取所有的详细信息。
扩展性
当然,不是每一个工具你可以使用你的工作将是 core CLI 工具的一部分。但是,.NET Core CLI 具有扩展模式,允许你为你的项目指定额外的工具。你可以在 可扩展性文档 查出更多信息。
更多资源
这是 CLI 的最重要的一个特征的简短概述。在这个网站你可以找到更多的使用参考和概念主题。也有其他的资源你可以使用:
『.NET Core CLI工具文档』(一).NET Core 命令行工具(CLI)的更多相关文章
- 『.NET Core CLI工具文档』(九)dotnet-run
说明:本文是个人翻译文章,由于个人水平有限,有不对的地方请大家帮忙更正. 原文:dotnet-run 翻译:dotnet-run 名称 dotnet-run -- 没有任何明确的编译或启动命令运行&q ...
- 『.NET Core CLI工具文档』(十一)dotnet-test
说明:本文是个人翻译文章,由于个人水平有限,有不对的地方请大家帮忙更正. 原文:dotnet-test 翻译:dotnet-test 名称 dotnet-test - 使用配置的测试运行器运行单元测试 ...
- 『.NET Core CLI工具文档』(六)dotnet 命令
说明:本文是个人翻译文章,由于个人水平有限,有不对的地方请大家帮忙更正. 原文:dotnet command 翻译:dotnet 命令 名称 dotnet -- 运行命令行命令的一般驱动程序 概要 d ...
- 『.NET Core CLI工具文档』(二).NET Core 工具遥测(应用信息收集)
说明:本文是个人翻译文章,由于个人水平有限,有不对的地方请大家帮忙更正. 原文:.NET Core Tools Telemetry 翻译:.NET Core 工具遥测(应用信息收集) .NET Cor ...
- 『.NET Core CLI工具文档』(八)dotnet-restore
说明:本文是个人翻译文章,由于个人水平有限,有不对的地方请大家帮忙更正. 原文:dotnet-restore 翻译:dotnet-restore 名称 dotnet-restore - 还原一个项目的 ...
- 『.NET Core CLI工具文档』(七)dotnet-new
说明:本文是个人翻译文章,由于个人水平有限,有不对的地方请大家帮忙更正. 原文:dotnet-new 翻译:dotnet-new 名称 dotnet-new -- 创建一个新的 .NET Core 项 ...
- 『.NET Core CLI工具文档』(十四)dotnet-install 脚本参考
说明:本文是个人翻译文章,由于个人水平有限,有不对的地方请大家帮忙更正. 原文:dotnet-install scripts reference 翻译:dotnet-install 脚本参考 名称 d ...
- 『.NET Core CLI工具文档』(十)dotnet-build
说明:本文是个人翻译文章,由于个人水平有限,有不对的地方请大家帮忙更正. 原文:dotnet-build 翻译:dotnet-build 名称 dotnet-build -- 生成项目和所有的依赖 概 ...
- 『.NET Core CLI工具文档』(十三)dotnet-publish
说明:本文是个人翻译文章,由于个人水平有限,有不对的地方请大家帮忙更正. 原文:dotnet-publish 翻译:dotnet-publish 名称 dotnet-publish - 打包应用程序及 ...
随机推荐
- 基于RN开发的一款视频配音APP(开源)
在如今React.ng.vue三分天下的格局下,不得不让自己加快学习的脚步.虽然经常会陷入各种迷茫,学得越多会发现不会的东西也被无限放大,不过能用新的技术作出一些小项目小Demo还是会给自己些许自信与 ...
- 代码的坏味道(22)——不完美的库类(Incomplete Library Class)
坏味道--不完美的库类(Incomplete Library Class) 特征 当一个类库已经不能满足实际需要时,你就不得不改变这个库(如果这个库是只读的,那就没辙了). 问题原因 许多编程技术都建 ...
- JQuery的基础和应用
<参考文档> 1.什么是? DOM的作用:提供了一种动态的操作HTML元素的方法. jQuery是一个优秀的js库.用来操作HTML元素的工具. jQuery和DOM ...
- WEB安全隐患
org.apache.commons.lang.StringEscapeUtils 进行输入框内容处理 [StringEscapeUtils.escapeSql(str);StringEscapeUt ...
- sqlserver批量修改首字母为大写
'hello world' ----> 'Hello world' update tableName set columnName=CHAR(ASCII(SUBSTRING(columnN ...
- 第14章 Linux启动管理(3)_系统修复模式
3. 系统修复模式 3.1 单用户模式 (1)在grub界面中选择第2项,并按"e键"进入编辑.并在"-quiet"后面加入" 1",即&q ...
- linux系统下基于mono部署asp.net,使用ef6与mysql出现的问题【索引】
git clone github.com/mono的源码,日期:2014-06-19,百度网盘链接:http://pan.baidu.com/s/1kTG9EUb 关于asp.net利用mono部署到 ...
- ASP.NET 5 Beta 8 发布
ASP.NET 5 的路线图(详见 ASP.NET 5 Schedule and Roadmap : https://github.com/aspnet/home/wiki/roadmap ):Bet ...
- 新手如何在gdb中存活
网络上已经有很多gdb调试的文章了,为什么我还要写这篇文章呢,因为本文是写给gdb新手的,目的就是通过一个简单的例子来让新手很快上手.一旦上手入门了,其他的问题就可以自己去搜索搞定了.右边是gdb的L ...
- 构建Web API服务
返回总目录<一步一步使用ABP框架搭建正式项目系列教程> 构建动态Web API控制器 ABP可以自动地为应用层生成Web API 层.比如说我们之前创建的应用层: namespace N ...