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. verilog中连续性赋值中的延时

    上次遇到一个问题.写一个testbench需要移动两个时钟之间的相位.后来一想,貌似我们都是这么写clock的 always    #(`P/2) clk = ~clk 我的两个时钟都是这么写,只是p ...

  2. QBoxLayout::setSizeConstraint可以固定窗口的大小,且根据内部控件所占用的位置自动调节大小

    setSizeConstraint(QLayout::SetFixedSize)的功能是保持整个对话框的尺寸保持相对固定.也就是说让布局管理器来调整对话框的大小.举个例子吧:一个上下可扩展对话框,基本 ...

  3. 宣布与 NBC 合作直播索契冬季奥运

     奥运开始的那天早些时候,NBC 和 Microsoft 宣布选择 Windows Azure 媒体服务为 2014 年俄罗斯索契冬奥会提供现场直播.与以往不同,以往的冬奥会采用了有限的流,但本届 ...

  4. JAVA GUI学习 - JMenuBar菜单条、JMenu菜单、JMenuItem菜单项组件学习

    public class MenuBarKnow extends JFrame { JMenuBar jMenuBar; JMenu jMenuFile,jMenuEditor,jMenuAbout; ...

  5. express文件上传

    安装express,创建项目,添加sqlite3模块 express --sessions --css stylus --ejs myhotel npm install sqlite3node app ...

  6. Unity的NGUI插件篇——入场效果

    Unity的NGUI插件篇--入场效果 入场效果 入场效果须要借助于NGUI提供的TweenPosition类来完毕.为了说明此类的用法.本节将使会解说两个演示样例.本文选自  大学霸 <NGU ...

  7. 关于UITableview刷新笔记

    今天在做项目的时候 发现调用tableview 的 reloaddata 方法的时候出现崩溃. - 具体操作是执行某个方法后将数据数组中的某条数据删除(数组中存数组)发现调用刷新方法后 程序崩溃,查看 ...

  8. C - N皇后问题(搜索)

    Description 在N*N的方格棋盘放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在与棋盘边框成45角的斜线上. 你的任务是,对于给定的N,求出有多少种合 ...

  9. 条款05:了解C++默默编写并调用哪些函数

    每一个class都会有一个或多个构造函数.一个析构函数.一个copy assignment操作符.这些控制着基础操作,像是产出新对象并确保它被初始化.摆脱旧对象并确保它被适当清理.以及赋予对象新值. ...

  10. YII2 实现后台操作记录日志

    一.连接linux服务器,创建数据文件 php yii migrate/create user_log 二.修改数据文件 console/migrations/m150721_032220_admin ...