.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 ...
随机推荐
- [BZOJ 1058] [ZJOI2007] 报表统计 【平衡树】
题目链接:BZOJ - 1058 题目分析 这道题看似是需要在序列中插入一些数字,但其实询问的内容只与相邻的元素有关. 那么我们只要对每个位置维护两个数 Ai, Bi, Ai 就是初始序列中 i 这个 ...
- [BZOJ 1016] [JSOI2008] 最小生成树计数 【DFS】
题目链接:BZOJ - 1016 题目分析 最小生成树的两个性质: 同一个图的最小生成树,满足: 1)同一种权值的边的个数相等 2)用Kruscal按照从小到大,处理完某一种权值的所有边后,图的连通性 ...
- [BZOJ 1901] Dynamic Rankings 【树状数组套线段树 || 线段树套线段树】
题目链接:BZOJ - 1901 题目分析 树状数组套线段树或线段树套线段树都可以解决这道题. 第一层是区间,第二层是权值. 空间复杂度和时间复杂度均为 O(n log^2 n). 线段树比树状数组麻 ...
- xml中1字节的UTF-8序列的字节1无效([字符编码]Invalid byte 1 of 1-byte UTF-8 sequence终极解决方案)
今天在eclipse中编写pom.xml文件时,注释中的中文被eclipse识别到错误:Invalid byte 1 of 1-byte UTF-8 sequence,曾多次遇到该问题,问题的根源是: ...
- Android 国内镜像
Android SDK官网国内很难直接访问,除了FQ/VPN等方法还是很不方便. 原有的Android SDK直接下载因http://dl-ssl.google.com/android/reposit ...
- Linux下的各种软件安装方法汇总
1 RPM包 1.1 安装 RPM包就像Windows的EXE安装文件一样,各种文件都已经编译好了,并进行了打包,哪一个文件应该放在哪一个目录下都指定好了,安装非常方便,在图形界面里你只需要双击就能自 ...
- hdu 4284 状态压缩
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4284 #include<cstdio> #include<cstring> # ...
- 介绍两个Eclipse插件: Implementors & Call Hierarchy
介绍两个Eclipse插件: Implementors & Call Hierarchy 本文介绍两个在Eclipse调试与跟踪过程中的两个实用插件 他们都可以在 http://eclipse ...
- linux mono
linux下.net环境; rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm &am ...
- cas 单点登录配置
服务端配置 cas是个好东西,很灵活很好用,但是配置起来很麻烦 cas官方网站 http://downloads.jasig.org/ 下载服务端 CAS Server 3.3.3 Final 1.将 ...