『.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 - 打包应用程序及 ...
随机推荐
- 11、Struts2 的文件上传和下载
文件上传 表单准备 要想使用 HTML 表单上传一个或多个文件 须把 HTML 表单的 enctype 属性设置为 multipart/form-data 须把 HTML 表单的method 属性设置 ...
- Nested Loops join时显示no join predicate原因分析以及解决办法
本文出处:http://www.cnblogs.com/wy123/p/6238844.html 最近遇到一个存储过程在某些特殊的情况下,效率极其低效, 至于底下到什么程度我现在都没有一个确切的数据, ...
- redis成长之路——(一)
为什么使用redis Redis适合所有数据in-momory的场景,虽然Redis也提供持久化功能,但实际更多的是一个disk-backed的功能,跟传统意义上的持久化有比较大的差别,那么可能大家就 ...
- 分布式学习系列【dubbo入门实践】
分布式学习系列[dubbo入门实践] dubbo架构 组成部分:provider,consumer,registry,monitor: provider,consumer注册,订阅类似于消息队列的注册 ...
- BPM任务管理解决方案分享
一.方案概述任务是企业管理者很多意志的直接体现,对于非常规性事务较多的企业,经常存在各类公司下达的各种任务跟进难.监控难等问题,任务不是完成效果不理解,就是时间超期,甚至很多公司管理层下达的任务都不了 ...
- XAMARIN ANDROID 二维码扫描示例
现在二维码的应用越来越普及,二维码扫描也成为手机应用程序的必备功能了.本文将基于 Xamarin.Android 平台使用 ZXing.Net.Mobile 做一个简单的 Android 条码扫描示 ...
- phpstorm 配置 xdebug调试工具
前言 php是脚本型程序 每次出错都要手动exit断点程序不是很方便 哪里有需求哪里就有生产,Xdebug可以实现对php的断点调试.下面将我个人的安装经历分享给大家. 运行环境 windows ...
- Linux字符设备驱动框架
字符设备是Linux三大设备之一(另外两种是块设备,网络设备),字符设备就是字节流形式通讯的I/O设备,绝大部分设备都是字符设备,常见的字符设备包括鼠标.键盘.显示器.串口等等,当我们执行ls -l ...
- 我的MYSQL学习心得(五) 运算符
我的MYSQL学习心得(五) 运算符 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...
- ASP.NET 中的 Async/Await 简介
本文转载自MSDN 作者:Stephen Cleary 原文地址:https://msdn.microsoft.com/en-us/magazine/dn802603.aspx 大多数有关 async ...