DNX项目是用来创建和运行.net应用程序适用于windows,mac 和linux 的,dnx提供了一个宿主进程(a host process),CLR托管逻辑( CLR hosting logic)和管理切入点发现(managed entry point discovery),你可以使用DNX在命令提示符执行一些命令.

  新建一个ASP.NET5 Web Application后,可以在项目的project.json中找到Comands节点,默认有两个,一个是web和ef.
    
 

1.DNX WEB

 当你在命令提示符执行dnx web时,你就可以打开这个web 应用程序了,可以在下图它的运行环境是:Developmetn, 监听的是5004端口。
  

下面来深入了解一下当我们执行dnx web 里, dnx 都执行了什么操作。

当你输入dnx web时,dnx 会去查找这个目录下的project.json下的commands 节点下的web命令,Microsoft.AspNet.Server.Kestrel 是dnx第一个去执行的程序集名称。

一个dnx 命令可以包含一组传递给dnx的参数,你可以把上面的web 命令改成

  "web": "Microsoft.AspNet.Server.Kestrel --config hosting.ini",
 

1.1 命令的第一部分是一个程序集名称,dnx 会去执行这个程序集,在这个程序集中有一个入口函数,它的代码它会去调用Microsoft.AspNet.Hosting程序集下的入口函数,并把参数传给它。后面的执行都会在Microsoft.AspNet.Hosting程序集下

  

1.2 命令的第二部分config hosting.ini 是web 应用程序执行的配置信息。

{
  "Hosting:Environment": "Development", //执行环境(Development,Staging,Production),默认是Production
  "kestrel.noDelay": "", //是否延迟发送数据
  "kestrel.threadCount": "16", //线程处理数量
  "server.urls": "http://*:5001", //监听的url地址
  "WebRootPath": "wwwroot" //WebRoot的路径"
}

2.DNX EF

在命令行中执行dnx ef

你可以查看迁移的子命令的帮助来获取更多详细信息,输入dnx ef migrations --help

查看迁移命令的add命令, 输入dnx ef migrations add --help

新增一个迁移命令:dnx ef migrations add MyMigration.

下面是目前命令的完整列表

  • database

    • update–从一个特定的迁移记录中来更新数据库
  • dbcontext

    • list–列出你的DbContext 的类型
    • scaffold–一个DbContext和实体类型指定数据库
  • migrations

    • add–新增一个迁移全集

    • list–列出全部的迁移记录

    • remove–移除最新的迁移记录

    • script–从迁移记录中生成sql脚本

 

ASPNET 5 和 dnx commands的更多相关文章

  1. .NET跨平台:在Mac上跟着错误信息一步一步手写ASP.NET 5程序

    今天坐高铁时尝试了一种学习ASP.NET 5的笨方法,从空文件夹开始,根据运行dnx . kestrel命令的错误信息,一步一步写代码,直至将一个最简单的ASP.NET程序运行起来. 尝试的具体步骤如 ...

  2. EntityFramework 7 Migrations 迁移命令

    示例代码: using Microsoft.Data.Entity; using System.Collections.Generic; namespace ClassLibrary1 { publi ...

  3. OWIN 中 K Commands(OwinHost.exe)与 Microsoft.AspNet.Hosting 的角色问题

    问题详情:K Commands(OwinHost.exe)是不是 OWIN 中的 Host 角色?如果是,那 Microsoft.AspNet.Hosting 对应的是 OWIN 中的哪个角色? OW ...

  4. Encountered an unexpected error when attempting to resolve tag helper directive '@addTagHelper' with value '"*, Microsoft.AspNet.Mvc.TagHelpers"'

    project.json 配置: { "version": "1.0.0-*", "compilationOptions": { " ...

  5. DNX概述

    1. 什么是.NET执行环境 ? .NET Execution Environment(DNX) 是一个SDK 和运行时环境,它包含所有的你需要创建和运行.net应用程序的组件.它提供一个主机进程,C ...

  6. 【Net Core】DNX概述

    1. 什么是.NET执行环境 ? .NET Execution Environment(DNX) 是一个SDK 和运行时环境,它包含所有的你需要创建和运行.net应用程序的组件.它提供一个主机进程,C ...

  7. 理解ASP.NET 5运行时命令:DNVM, DNX, 和DNU

    ASP.NET 5 引入了一个新型的运行时,让我们可以现场交付模式组合式构建应用程序,而不依赖于宿主机上的.NET框架.这种新模式为我们提供了命令行工具(DNVM.DNX.DNU)用于管理我们的.ne ...

  8. DNX 概览

    来源https://docs.asp.net/en/latest/dnx/overview.html .NET Execution Environment是什么 .NET Execution Envi ...

  9. 最新Linux部署.NET,Mono and DNX

    这几天一直在折腾在Linux下的ASP.NET 5,就下在看来在其它操作系统中ASP.NET 5或.NET应用,要想在完整的MS VM(CoreCLR)上运行还不远远达不到,应用的效果. 目前只能在M ...

随机推荐

  1. 单独mybatis得使用

    今天同学说要学习mybatis后来他写了个程序让我看看,我看了一下发现包引错了,他写的是单独的mybatis,引入的却是spring-mybatis,所以会报错. 今天我记录一下单独mybatis的使 ...

  2. css3实现梯形三角

    近期移动端项目中,图片很多 移动端尽量少图片,以便提升加载速度!这时候css3可以大放光芒比如梯形的背景图 --------------------------------- ------------ ...

  3. tab页切换

    做了一个tab页切换.点击不同tab,显示对应的内容信息 如图 =================HTML===================== <!doctype html public ...

  4. 常用数学符号的 LaTeX 表示方法

    常用数学符号的 LaTeX 表示方法 (以下内容主要摘自"一份不太简短的 LATEX2e 介绍") 1.指数和下标可以用^和_后加相应字符来实现.比如: 2.平方根(square ...

  5. 深入学习Java8 Lambda (default method, lambda, function reference, java.util.function 包)

    Java 8 Lambda .MethodReference.function包 多年前,学校讲述C#时,就已经知道有Lambda,也惊喜于它的方便,将函数式编程方式和面向对象式编程基于一身.此外在使 ...

  6. 简易 bokeh 图像散景效果算法实现

    bokeh百度百科的解释 摄影镜头光圈大小和拍摄距离决定了拍摄时的景深,相对于焦点位置,焦点前与焦点后的被拍摄物体会显得模糊,这个模糊区域被称为焦外.焦外具体的模糊程度还受到镜头中镜片单体和组合的物理 ...

  7. ssh框架实现员工部门增删改查源码

    http://pan.baidu.com/s/1qYLspDM 备注:IDE是eclipse,前端使用bootstrap,数据库是mysql

  8. Git的使用-如何将本地项目上传到Github

    默认你的电脑上已经安装了git. 第一步:我们需要先创建一个本地的版本库(其实也就是一个文件夹). 你可以直接右击新建文件夹,也可以右击打开Git bash命令行窗口通过命令来创建. 现在我通过命令行 ...

  9. 微信app支付(android端+java后台)

    本文讲解使用微信支付接口完成在android开发的原生态app中完成微信支付功能, 文章具体讲解了前端android如何集成微信支付功能以及后台如何组装前端需要支付信息, 话不多话, 具体看文章内容吧 ...

  10. 在HTML页面中获取当前项目根路径的方法

    在HTML页面获取项目根路径的方法: function getRootPath(){ var curPageUrl = window.document.location.href; var rootP ...