dotnet tools 运行 dotnet run

dotnet run 命令介绍

前言

本篇主要介绍 asp.net core 中,使用 dotnet tools 运行 dotnet run 之后的系统执行过程。 如果你觉得对你有帮助的话,不妨点个【推荐】。

目录

  • dotnet run 介绍
  • dotnet run 使用
  • dotnet run 执行过程

dotnet run 介绍

dotnet 相关命令是属于 .NET Core command-line (CLI) 的一部分,Microsoft 为我们提供了这个命令行工具以供我们在开发程序中使用,它主要用来进行对代码的编译、NuGet 包的管理、程序的运行、测试等等。

目前 asp.net core RC2 版本中,Tools 工具的版本为Preview1版本,而在 RTM 版本中,Tools 工具的版本为 Preview2。

dotnet 命令目前支持一下操作系统或者 OS 版本:

  • Ubuntu 14.04 / Linux Mint 17
  • Ubuntu 16.04
  • Debian 8.2
  • Windows x64
  • Windows x86
  • Mac OS X
  • CentOS 7.1 / Oracle Linux 7.1
  • RHEL 7.2
  • OpenSUSE 13.2
  • Fedora 23

下面是 dotnet run 命令在运行程序的时候可以使用的参数列表

dotnet run [--framework] [--configuration] [--project] [--help] [--]

-f, --framework

使用提供的 framework 来运行,这个 framework 就是对应project.json文件中的 frameworks 节点

-c, --configuration [Debug|Release]

配置使用的环境是 Debug 还是 Release,默认为 Debug 模式。

-p, --project [PATH]

指定要运行的项目,它可以是project.json的文件路径,可以是包含project.json的路径,如果没有指定,默认是当前路径。

所以在运行dotnet run命令的时候,如果想偷懒,不想指定 -p参数的话,把命令行的工作目录设定为项目的project.json所在的文件夹路径就可以了。

dotnet run 使用

相信有使用过 Node、Python、GO、Ruby等语言开发过程序的朋友们,对命令行一定不会陌生,使用命令行可以帮助他们完成大部分程序的构建和生成工作,而现在.net 也可以像这些语言一样,通过命令行来运行了,甚至比他们更加的简单,简单的介绍一下:

1、安装
在 http://www.dot.net 站点中,你可以很方便的看到在各个平台之间,dotnet 工具的安装方式。
打开 http://www.dot.net , 选择 .Net Core 然后 Step by Step 就可以了。

2、创建一个Hello World
你可以使用dotnet new命令来创建一个控制台的 Hello World~

3、编译和运行
使用dotnet run 会帮你进行编译和运行 Hello World 程序。

下面是我的mac 上的一个命令行截图:

主要步骤:

dotnet new  

dotnet restore  

dotnet run  

dotnet run 执行过程

已经知道了 dotnet 其实 CLI 里面的是一个命令行工具集中的一个命令。并且也已经会使用 dotnet run来运行我们的应用程序了,那么它内部是如何执行的呢?

dotnet run命令是依赖于dotnet build命令的,在运行 run 命令之前,系统会在内部调用 build 命令来生成代码,在运行 dotnet build 命令的时候,首先会检测程序中是否存在bin 文件夹,如果不存在就会创建它,然后把生成的文件放到 bin文件夹。然后 obj 文件夹中会存放程序生成的临时文件。

有一点需要注意的是dotnet run 命令的执行环境为项目程式代码的上下文,而不是 bin 或者 obj 文件夹,如果你需要运行一个 dll 程序,使用 dotnet 命令:dotnet xxx.dll,而不是 dotnet run xxx.dll

dotnet tools 运行 dotnet run的更多相关文章

  1. 尝试在mac上用dotnet cli运行asp.net core示例程序

    自从知道微软用dotnet cli取代dnx之后,一直在等dotnet cli支持asp.net core... 昨天看到这篇新闻(ASP.NET Core 1.0 Hello World)后,才知道 ...

  2. Cookies 初识 Dotnetspider EF 6.x、EF Core实现dynamic动态查询和EF Core注入多个上下文实例池你知道有什么问题? EntityFramework Core 运行dotnet ef命令迁移背后本质是什么?(EF Core迁移原理)

    Cookies   1.创建HttpCookies Cookie=new HttpCookies("CookieName");2.添加内容Cookie.Values.Add(&qu ...

  3. Docker上运行dotnet core

    下载microsoft/dotnet镜像 运行命令: docker pull microsoft/dotnet 如果没有使用阿里镜像加速的,参照这篇先配置好再跑上面命令: http://www.cnb ...

  4. EntityFramework Core 运行dotnet ef命令迁移背后本质是什么?(EF Core迁移原理)

    前言 终于踏出第一步探索EF Core原理和本质,过程虽然比较漫长且枯燥乏味还得反复论证,其中滋味自知,EF Core的强大想必不用我再过多废话,有时候我们是否思考过背后到底做了些什么,到底怎么实现的 ...

  5. dotnet tool install:Failed to install tool package 'ZKEACMS.Publisher': Could not find a part of the path 'C:\Users\Christer\.dotnet\tools\.store\.stage\0qd2mqpa.m45\ZKEACMS.Publisher'

    问题 按照 ZKEACMS 运行命令 dotnet tool install --global ZKEACMS.Publisher 提示 Failed to install tool package ...

  6. 使用vue框架运行npm run dev 时报错解决

    使用使用vue框架运行npm run dev 时报错 如下: 原因: localhost:8080 有可能其他软件占用了,导致其他问题的出现 我们可以动态修改地址 解决: 进入项目文件的config文 ...

  7. mpvue使用vant Weapp运行npm run build命令打包后失效

    最近在使用mpvue开发微信小程序,在开发过程中使用有赞的小程序ui框架—— vant Weapp ,至于如何使用在我个人博客中有一篇关于如何使用vant Weapp ,需要的同学请点进这里自行查看. ...

  8. 在mac下运行 npm run eject 出现报错问题解决方法

    当使用create-react-app创建项目后,接着运行npm run eject时,如果出现下面的错误 可能是脚手架添加了.gitignore这个文件,但是没有本地仓库,可以使用以下代码解决这个问 ...

  9. react 记录:运行npm run eject命令暴露配置文件都报这个错误

    问题: react 使用create-react-app命令创建一个项目,运行npm run eject命令暴露配置文件都报这个错误 原因:主要是脚手架添加 .gitgnore文件,但是却没有本地仓库 ...

随机推荐

  1. 【转】context和getApplicationContext()介绍

    在android中常常会遇到与context有关的内容,大多都是作为参数在传递,但是它的作用究竟是什么呢 先说它的用法,举个例子 在语句 AlertDialog.Builder builder = n ...

  2. Spring RESTful服务接收和返回JSON最佳实践

    http://blog.csdn.net/prince_hua/article/details/12103501

  3. CI URL 辅助函数 url helper

    URL 辅助函数文件包含一些在处理 URL 中很有用的函数 加载辅助函数 本辅助函数通过如下代码加载: $this->load->helper('url'); 可用函数如下: site_u ...

  4. android 构建数据库SQLite

    1.首先我们需要一个空白的eclipse android工程 2.然后修改AndroidManifest.xml 在<application></application>标签里 ...

  5. Mybatis 简单的CRUD 基于XML文件配置

    全部的ORM框架学习曲线都是先来一个CRUD爽一爽,以下我们就来CRUD一下,全部的配置都是基于上一篇的配置.废话不多说,直接上代码. <?xml version="1.0" ...

  6. [小知识点]IE6下不支持:hover的解决方法

    在网上百度到的解决办法,感觉不错,和大家分享一下. 在CSS样式里加一句代码"body{behavior:url("文件夹/csshover.htc");}"即 ...

  7. shell:监控进程运行状态并自动重启进程

    #!/bin/sh MAXRSTCOUNT=; PROCTOGO=/mnt/hgfs/code/test/show #count is the counter of test started time ...

  8. NOIP2015前

    时间过得好快...明天就要出发去NOIP了...然后再过半年就要省选了....希望自己能取得好成绩吧... NOIP2015 bless all !

  9. GNU自动补全模块readline解析

    readline模块定义了一系列函数用来读写Python解释器中历史命令,并提供自动补全命令功能.这个模块可以通过relcompleter模块直接调用,模块中的设置会影响解释器中的交互提示,以及内置函 ...

  10. HTML5 总结-应用程序缓存-8

    HTML 5 应用程序缓存 使用 HTML5,通过创建 cache manifest 文件,可以轻松地创建 web 应用的离线版本. 什么是应用程序缓存(Application Cache)? HTM ...