ASP.NET5应用程序默认使用.net core来构建应用程序,.net core是一个小的,优化过的.net运行时应用程序。

1. 什么是的.NET Core

.NET Core 5 是一由模块化的运行时和类库组成的。目前它在WIndows上面已经实现了,在Linx和OS x上面正在开发当中。.NET core包括一系列的类库,称作"CoreFX", 和一个小的优化过的运行时,叫"CoreCLR". .NET Core是完全开源的,你也可以去贡献你自己的代码进去。

CoreCLR 运行时和CoreFx类库通过NuGet可以获得, CoreFx可以根据具体的功能通过NuGet获得相应的dll, 如"System.[module]".

.NET Core一个关键的优点就是它的轻便性。 你可以方便地打包部署你的应用程序,而不需要像以前那样安装.NET 应用程序在你的Windows上面。你可以用不同版本地CoreCLR开发应用程序和升级应用在同一台机器上面,而不需要强制性地同时用一个新版本。

CoreFX集成了一个一个组件形式,每个dll依赖一组最小的在dll, 例如System.Collection只依赖System.Runtime, 而不需要System.Xml, CoreFx包含集合、console acess, diagnostics, IO, LINQ, JSON, XML, 和regular expression 支持, 另外一个优点是COreFx同一个dll可以支持不同的平台。

2. .NET Core背后的动机

当.net首次出现的时候是在2002年,它是一个单一的框架,不久推出了.net compact框架,它是一个小型的应用于移动设备上面的。多年来,一些共同的功能在两个不同的版本中重复的做着,以至于后来争对不同的平台有不同的.net版本。在linux, mac, android上面也有其它的.net版本,如mono和Xmarin. 对于每一个平台,他们各自都要开发运行时,框架和应用模型。.net core的首要目标之一就是提供一个单一的,模块化的,跨平台.net版本工作在不同的平台上面。.net core是完全开源的,Mono社区的人员可以从CoreFx的类库中获利。.NET Core不会取代Mono, 但是它允许Mono社区引用和共享它,并直接贡献代码到CoreFx当中。

除了能应用于不同的设备平台,服务来自一个方面的压力就是减少整体的架构,最重要的就是把CoreFx分解成一个一个功能模块,这样应用程序可以按需去拉取相应的dll, 减少之间的依赖。这样,反过来也能减少升级和打补丁的频次,以减少对应用程序的影响,一个小的应用程序的部署它是独立的,不同的版本的应用可以部署在同一个服务器上。

3. 利用.NET Core创建应用程序

.NET Core可以创建不同的应用程序,包括Web应用程序,控制台应用程序和本地化的移动应用程序。DNX提供一个跨平台运行时宿主,你可以用用它创建基于.net core的应用程序,它可以执行在windows, mac和linx上面,并且它是Asp.net应用程序运行的基础。运行在DNX的应用程序可以用.net框架或者.net core框架,DNX工程可以在一个工程当中同配置这两个构架。所以它在project.json中存在两个配置,如下 :

"frameworks":{

    "dnx451":{},

    "dnxcore50":{}

},

dnx451表示老的.net框架,dnxcore50表示.net core 5(5.0).你可以用预编译指令#if去测试关联了哪个框架:DNX451和DNXCORE50。例如:

#if DNX451

// utilize resource only available with .net framework

#endif

ASP.NET团队建议是两个框架都配置,如果你只想用其中一个,也可以把另一个删除。 注意ASP.NET4.6和早期的版本必须用.NET框架。

4. .NET Core和NuGet

利用NuGet可以很敏捷地获取每一个组成.net core的类库。意思是应用程序可以列出一个个包含系统、构架、第三方框架的NuGet包的集合。另外,第三方的框架也能显示它的依赖项,这样可以很容易地在开发或者创建的时候得到相应的版本的包。

尽管CoreFx是由一个一个单独的NuGet包组成,微软也会定期地推出一个完全的包,当然它的频次会比较低。

.NET Core的介绍的更多相关文章

  1. Linux core 文件介绍

    Linux core 文件介绍 http://www.cnblogs.com/dongzhiquan/archive/2012/01/20/2328355.html 1. core文件的简单介绍在一个 ...

  2. [01]从零开始学 ASP.NET Core 与 EntityFramework Core 课程介绍

    从零开始学 ASP.NET Core 与 EntityFramework Core 课程介绍 本文作者:梁桐铭- 微软最有价值专家(Microsoft MVP) 文章会随着版本进行更新,关注我获取最新 ...

  3. 【转】 Linux Core Dump 介绍

    ===============================================================  Linux core dump的祥细介绍和使用 =========== ...

  4. (转)Linux core 文件介绍与处理

    1. core文件的简单介绍 在一个程序崩溃时,它一般会在指定目录下生成一个core文件.core文件仅仅是一个内存映象(同时加上调试信息),主要是用来调试的. 2. 开启或关闭core文件的生成用以 ...

  5. 【52ABP实战教程】00-- ASP.NET CORE系列介绍

    为什么是.net core? 记得在半年前.NET CORE刚刚出了1.0,当时有朋友推荐我使用的时候,个人觉得还不成熟. 现在.NET Core已经到了2.0,.NET Standard 2.0 添 ...

  6. .Net Core配置文件介绍

    Net Core中的配置文件介绍 1 简单回顾.Net Framework配置文件 .Net Core中的配置文件操作较.Net Framework有了很大的改动.介绍.Net Core中配置文件操作 ...

  7. ASP.NET Core 接触&介绍

    几年前从朋友口中了解到了微软出来一个ASP.NET Core ,当时还是1.0版本,聊天时还吐槽不好用之类的.前不久了解.NET Core 已经出3.0版本了,突然想试试,了解了解.ASP.NET C ...

  8. 图像处理框架 Core Image 介绍

    这篇文章会为初学者介绍一下 Core Image,一个 OS X 和 iOS 的图像处理框架. 如果你想跟着本文中的代码学习,你可以在 GitHub 上下载示例工程.示例工程是一个 iOS 应用程序, ...

  9. ASP.NET Core快速入门(第4章:ASP.NET Core HTTP介绍)--学习笔记

    课程链接:http://video.jessetalk.cn/course/explore 良心课程,大家一起来学习哈! 任务22:课程介绍 1.HTTP 处理过程 2.WebHost 的配置与启动 ...

  10. Asp.net core 简单介绍

    Asp.net core 是一个开源和跨平台的框架,用于构建如WEB应用,物联网(IoT)应用和移动后端应用等连接到互联网的基于云的现代应用程序.asp.net core 应用可运行.net和.net ...

随机推荐

  1. Android应用程序的生命周期

    转自Android应用程序的生命周期 在对一个简单的Hello World工程进行项目结构剖析后,我们接着来学习下一个Android应用程序的生命周期是怎么样的,以便为后面的开发有个垫下良好的基石~ ...

  2. Epoll在LT和ET模式下的读写方式

    在一个非阻塞的socket上调用read/write函数, 返回EAGAIN或者EWOULDBLOCK(注: EAGAIN就是EWOULDBLOCK) 从字面上看, 意思是:EAGAIN: 再试一次, ...

  3. leetcode面试准备:Summary Ranges

    1 题目 Given a sorted integer array without duplicates, return the summary of its ranges. For example, ...

  4. 利用python分析nginx日志

    最近在学习python,写了个脚本分析nginx日志,练练手.写得比较粗糙,但基本功能可以实现. 脚本功能:查找出当天访问次数前十位的IP,并获取该IP来源,并将分析结果发送邮件到指定邮箱. 实现前两 ...

  5. Delphi 用Web App Debugger简单调试ISAPI 转

    用Web App Debugger简单调试ISAPI   以isapi为例: 1.新建一个project,用isapi/nsapi: 2.remove这个project中所有的unit: 3.加进你用 ...

  6. 新学Linux时遇到的一些问题

    1.如何进入到Linux的命令终端 (1)按ctrl+alt+t (2)按ctrl+alt+(F1-F6都可以),按ctrl+alt+F7退出 2.按ctrl+alt+(F1-F6)进入命令终端,登录 ...

  7. Hadoop yarn配置参数

    参照site:http://hadoop.apache.org/docs/r2.6.0/hadoop-yarn/hadoop-yarn-common/yarn-default.xml 我们在配置yar ...

  8. Cogs 1672. [SPOJ375 QTREE]难存的情缘 LCT,树链剖分,填坑计划

    题目:http://cojs.tk/cogs/problem/problem.php?pid=1672 1672. [SPOJ375 QTREE]难存的情缘 ★★★☆   输入文件:qtree.in  ...

  9. Windows 安装Django并创建第一个应用

    学习python 也有一段时间了,语法也学得差不多了,突然就想学一学python的web开源开源框架Django,我用的是Django-1.6.2.tar.gz,可以在官网https://www.dj ...

  10. linux —— 编译linux内核

    目录:     0.测试环境 1.获得最新内核源代码  2.编译源代码 3.运行新的内核 0.测试环境: 我的系统 : ubuntu 16.04 LTS (内核版本:4.4.0-36-generic ...