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. [CF Round #294 div2] D. A and B and Interesting Substrings 【Map】

    题目链接:D. A and B and Interesting Substrings 题目大意 给定26个小写字母的权值,一共26个整数(有正有负). 给定一个小写字母组成的字符串(长度10^5),求 ...

  2. [BZOJ 1053] [HAOI 2007] 反素数ant

    题目链接:BZOJ 1053 想一想就会发现,题目让求的 1 到 n 中最大的反素数,其实就是 1 到 n 中因数个数最多的数.(当有多于一个的数的因数个数都为最大值时,取最小的一个) 考虑:对于一个 ...

  3. document.body.clientWidth vs document.documentElement.clientWidth

    http://blog.csdn.net/zb0567/article/details/7182391 mobile web javascript library http://www.gbin1.c ...

  4. 如何打造一款五星级的 APP ?

    移动互联网大潮来袭!据统计,2015 年平均每天有 1000 个新的应用上架,而这些应用的现状可以说是鱼龙混杂,同是每个人的眼光.品味.意识和利益都不同,因此每人眼中的应用也是不同的.在巨大的市场竞争 ...

  5. Sitemesh 3 的使用及配置

    1 . Sitemesh 3 简介 Sitemesh 是一个网页布局和修饰的框架,基于 Servlet 中的 Filter,类似于 ASP.NET 中的‘母版页’技术.参考:百度百科,相关类似技术:A ...

  6. java中基本类型封装对象所占内存的大小(转)

    这是一个程序,java中没有现成的sizeof的实现,原因主要是java中的基本数据类型的大小都是固定的,所以看上去没有必要用sizeof这个关键字. 实现的想法是这样的:java.lang.Runt ...

  7. python手记(32)

    #!/usr/bin/env python #-*- coding: utf-8 -*- import cv2 import numpy as np fn="test2.jpg" ...

  8. Spark RDD Persistence

    Spark最为重要的特性之一就是可以在多个操作(Action)之间,将一个或多个RDD关联的数据集(Dataset)以分区(Partition)为单位进行持久化(Persist)或缓存(Cache), ...

  9. 博弈论(SG函数):HNOI 2007 分裂游戏

    Description 聪聪和睿睿最近迷上了一款叫做分裂的游戏. 该游戏的规则试: 共有 n 个瓶子, 标号为 0,1,2.....n-1, 第 i 个瓶子中装有 p[i]颗巧克力豆,两个人轮流取豆子 ...

  10. Apache 整合 Tomcat (首先Apache 发布的是PHP项目,占用端口80,tomcat 发布的是Java 项目,占用端口8080)

    情况简介: Apache 整合 Tomcat (首先Apache 发布的是PHP项目,占用端口80,tomcat 发布的是Java 项目,占用端口8080),而现在是虚拟出来两个域名(希望这两个域名都 ...