.NET Core的介绍
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的介绍的更多相关文章
- Linux core 文件介绍
Linux core 文件介绍 http://www.cnblogs.com/dongzhiquan/archive/2012/01/20/2328355.html 1. core文件的简单介绍在一个 ...
- [01]从零开始学 ASP.NET Core 与 EntityFramework Core 课程介绍
从零开始学 ASP.NET Core 与 EntityFramework Core 课程介绍 本文作者:梁桐铭- 微软最有价值专家(Microsoft MVP) 文章会随着版本进行更新,关注我获取最新 ...
- 【转】 Linux Core Dump 介绍
=============================================================== Linux core dump的祥细介绍和使用 =========== ...
- (转)Linux core 文件介绍与处理
1. core文件的简单介绍 在一个程序崩溃时,它一般会在指定目录下生成一个core文件.core文件仅仅是一个内存映象(同时加上调试信息),主要是用来调试的. 2. 开启或关闭core文件的生成用以 ...
- 【52ABP实战教程】00-- ASP.NET CORE系列介绍
为什么是.net core? 记得在半年前.NET CORE刚刚出了1.0,当时有朋友推荐我使用的时候,个人觉得还不成熟. 现在.NET Core已经到了2.0,.NET Standard 2.0 添 ...
- .Net Core配置文件介绍
Net Core中的配置文件介绍 1 简单回顾.Net Framework配置文件 .Net Core中的配置文件操作较.Net Framework有了很大的改动.介绍.Net Core中配置文件操作 ...
- ASP.NET Core 接触&介绍
几年前从朋友口中了解到了微软出来一个ASP.NET Core ,当时还是1.0版本,聊天时还吐槽不好用之类的.前不久了解.NET Core 已经出3.0版本了,突然想试试,了解了解.ASP.NET C ...
- 图像处理框架 Core Image 介绍
这篇文章会为初学者介绍一下 Core Image,一个 OS X 和 iOS 的图像处理框架. 如果你想跟着本文中的代码学习,你可以在 GitHub 上下载示例工程.示例工程是一个 iOS 应用程序, ...
- ASP.NET Core快速入门(第4章:ASP.NET Core HTTP介绍)--学习笔记
课程链接:http://video.jessetalk.cn/course/explore 良心课程,大家一起来学习哈! 任务22:课程介绍 1.HTTP 处理过程 2.WebHost 的配置与启动 ...
- Asp.net core 简单介绍
Asp.net core 是一个开源和跨平台的框架,用于构建如WEB应用,物联网(IoT)应用和移动后端应用等连接到互联网的基于云的现代应用程序.asp.net core 应用可运行.net和.net ...
随机推荐
- DJANGO增加超级用户
from django.contrib.auth.models import User user=User.objects.create_superuser('name','emailname@dem ...
- Mongo的导出工具mongoexport介绍
需求介绍:将mongodb中的数据以文件的方式导出:json或cvs格式 mongo 提供了mongoexport的工具,可以实现将库中的数据以json或cvs的格式输出到文件中.mongoexpor ...
- hadoop-2.0.0-mr1-cdh4.2.0源码编译总结
准备编译hadoop-2.0.0-mr1-cdh4.2.0的同学们要谨慎了.首先看一下这篇文章: Hadoop作业提交多种方案 http://www.blogjava.net/dragonHadoop ...
- Android 中的MVC与数据流动
今天看了一个Android的Training生命周期转换的例子,顿觉得他的设计非常巧妙,我的分析如下: 1.在com.example.android.lifecycle包中有: 3个正常的全屏acti ...
- BZOJ2083: [Poi2010]Intelligence test
2083: [Poi2010]Intelligence test Time Limit: 10 Sec Memory Limit: 259 MBSubmit: 241 Solved: 96[Sub ...
- 数据结构(分块):[HZOI 2015]easy seq
[题目描述] 给定一个序列,下标从0开始,分别为a0,a1,a2...an−1,有m个询问,每次给出l和r,求满足ai=aj且l<=i<=j<=r时j−i的最大值 本题强制在线,l和 ...
- 游戏开发设计模式之子类沙盒模式(unity3d 示例实现)
积累提供所有操作(的实现)来定义子类的行为用一个最简单的例子来讲解这个模式玩家操纵的英雄也就是这个游戏的主角会有许多技能,我们想定义许多不同的技能,来让玩家使用.首 先我们定义一个skillBase类 ...
- HDOJ/HDU 2549 壮志难酬(取小数点后几位~)
Problem Description 话说MCA山上各路豪杰均出山抗敌,去年曾在江湖威名显赫的,江湖人称<万军中取上将首级舍我其谁>的甘露也不甘示弱,"天将降大任于斯人也,必先 ...
- 《Linear Algebra and Its Applications》-chaper5-特征值与特征向量-基本概念
基于之前章节的铺垫,我们这里能够很容易的引出特征向量和特征值的概念. 首先我们知道n x n矩阵的A和n维向量v的乘积会得到一个n维的向量,那么现在我们发现,经过计算u=Av,得到的向量u是和v共线的 ...
- 代码编写横屏的UIView
- (id )initWithFrame:(CGRect )frame { if (self = [super initWithFrame :frame]) { // Important here, ...