一、什么是.NET Core

.NET Core是一个开源通用的开发框架,支持跨平台,即支持在Window,macOS,Linux等系统上的开发和部署,并且可以在硬件设备,云服务,和嵌入式/物联网方案中进行使用。

.NET Core的源码放在GitHub上,由微软官方和社区共同支持。

由于.NET Core的开发目标是跨平台的.NET平台,因此.NET Core包含一些.NET Framework的类库(在.NET Core 3 .0之后,不再从.NET Framework中移植任何功能了 ),但与 .NET Framework不同的是.NET Core采用包化 (Packages) 的管理方式,应用程序只需要获取需要的组件即可,如果是之前封装的dll则需要打包,打包方式:在nuget包管理控制台执行: dotnet pack,将生成的.nupkg文件拷贝到包目录中,安装一下,就完成了打包的过程。。

二、为什么要了解.NET Core

如果你现在是一名.NET开发人员,或者你正在学习.NET,又或者你以后打算从事.NET方向的开发工作,那么.NET Core 是必不可少,也可以说是必须的一项技能。

.NET Core 是 .NET 的未来,它也是.NET发展中的一个重大转折,而且 .NET Core已经出现在了很多.NET岗位的招聘需求上,这也说明了.Net Core逐渐发展成熟。

三、.NET Core 特性

1、跨平台

可以在 Windows、macOS 和 Linux 操作系统上运行。

2、跨架构

在多个架构(包括 x64、x86 和 ARM)上以相同的行为运行代码。

3、支持命令行

包括用于本地开发和持续集成方案中的易于使用的命令行工具。

4、部署灵活

可以包含在独立应用、用户环境或者计算机环境中(比如对于Windows系统来说,IIS、windows服务和控制台),也可搭配 Docker 容器使用。

5、兼容性强

.NET Core通过 .NET Standard与 .NET Framework、Xamarin(跨平台开发框架,目标是 用C#开发iOS、Android和Windows Phone原生应用程序)和Mono(一个致力于开创.NET在Linux上使用的开源工程) 兼容。

6、开源

.NET Core是一个开放源平台,使用MIT开源协议和Apache 2许可证。

四、与.NET Framework关系

.NET Core & .NET Framework 都是 .NET Standard Library 的实现,前者是跨平台,而后者是Windows下特有的,除了实现 .NET Standard Library外 .NET Core 和 .NET Framework 都有各自特有的实现。

对于.Net Core来说,.NET Standard Library 是跨操作系统的关键所在,它定义了一组接口,而每个操作系统有各自的实现,.NET Core通过nuget可以动态下载当前操作系统的实现,从而实现跨操作系统。

从未来发展的角度来看,.NET Core 是 .NET Framework 的下一代产品,目前 .NET Framework 还在 4.8 版本,.NET Core 是 3.1 版本。微软已经宣布,.NET Core 3.1 的下个版本就是 .NET 5,也就是说.NET 5是.NET Core的下一版本。

.Net Framework 和 .Net Core 的架构图

五、.NET Core 发展路线

.NET Core是由Microsoft开发,目前在.NET Foundation(一个非营利的开源组织)下进行管理。.NET Core是用C#和C++编写的,并采用MIT协议作为开源协议。第一个版本的.NET Core 1.0是在2016年发布的,功能有限。NET Core 2.0于2017年8月14日发布。在这个版本中发布的两个核心框架是ASP.NET Core2.0和 Entity Framework Core 2.0。下一个稳定版本.NET Core 2.1和2.2于2018年5月和12月发布。.NET Core的当前版本为3.1。

下表总结了.NET Core的主要里程碑:

版本

发布日期

关键特征/产品

.NET Core 1.0

6/27/2016

Visual Studio 2015 Update 3支持的.NET Core的初始版本。

.net Core 1.1.1

3/7/2017

.NET Core Tools 1.0受Visual Studio 2017支持

.NET Core 2.0

8/14/2017

Visual Studio 2017 15.3,ASP.NET Core 2.0,实体框架2.0

.NET Core 2.1

5/30/2018

ASP.NET Core 2.1,EF Core 2.1

.NET Core 2.2

12/4/2018

ASP.NET Core 2.2,EF Core 2.2

.NET Core 3.0预览3

3/6/2019

通过VisualStudio2019支持ASP.NET Core 3.0、EF Core3.0、UWP、Windows窗体、WPF

.NET Core 3.1

19年8月

对3.0新增功能的优化

六、.NET Core 3.0 新增功能

1、C# 8.0 也是该版本的一部分,它包含可为空引用类型功能、异步流。

2、支持 WinForms 和 WPF

这是否意味着它在Linux和Mac上运行?

不!由于WinForms和WPF在后台仅使用Windows技术,因此无法在Linux或Mac上运行,它依赖于Windows。在.NET Core上运行它的意义在于提升性能并且独立于任何框架。.NET Core针对性能进行了优化,因此您可以在云中运行超快的Web应用程序。.NET Core也独立于计算机上安装的框架。只需将运行时与应用程序一起部署即可。

3、ASP.NET Core 3.0

4、EF Core 3.0

5、.NET Core 是在云原生背景下诞生一个开发平台,而在.NET Core 3.0 更加完善,具体内容:

  • 体积更小:对于微服务分布式架构而言,更小的体积意味着更少的下载带宽,更快的分发下载速度,.NET Core 的镜像体积都很小。
  • 启动速度更快:对于传统单体应用,启动速度与运行效率相比不是一个关键的指标。原因是,这些应用重启和发布频率相对较低。然而对于需要快速迭代、水平扩展的微服务应用而言,更快的的启动速度就意味着更高的交付效率,和更加快速的回滚。尤其当你需要发布一个有数百个副本的应用时,缓慢的启动速度就是时间杀手。对于 Serverless 应用而言,端到端的冷启动速度则更为关键,即使底层容器技术可以实现百毫秒资源就绪,如果应用无法在 500ms 内完成启动,用户就会感知到访问延迟。
  • 占用资源更少:运行时更低的资源占用,意味着更高的部署密度和更低的计算成本。.NET Core的 CLR启动速度非常快,降低启动时资源消耗,可以减少资源争抢。
  • 支持水平扩展:.NET Core 3.0 更好的支持Docker资源限制,官方团队也在努力让.NET Core成为真正的容器运行时,使其在低内存环境中具有容器感知功能并高效运行。随着内存成本的下降和虚拟化的流行,大内存配比已经成为趋势。所以我们一般是采用水平扩展的方式,同时部署多个应用副本,在一个计算节点中可能运行一个应用的多个副本来提升资源利用率。

.NET Core 3.0 是快速的。与.NET Framework和.NET Core 2.2及以前的版本相比,.NET Core 3.0的速度很快。.NET Core比其他服务器端框架(如Java Servlet和Node.js)快得多。

七、.NET Core 3.1 变化

.NET Core 3.1 中的更改​​主要集中在 Blazor 和 Windows Desktop,这是 .NET Core 3.0 中的两个新增特性

(Blazor是一个WebUI框架,可通过WebAssembly在任意浏览器中运行.Net.)

NET Core 3.1要求Visual Studio 2019 16.4才能充分利用其所有功能。.NET Core 3.1在早期版本的Visual Studio中将无法正常工作。

八、.NET Core构建哪些类型的应用程序

.NET Core是一个通用的软件开发框架。它允许开发人员构建各种软件,包括Web,桌面,移动,云,游戏,物联网等。与其他框架不同,.NET Core并不局限于单一的编程语言,它支持C#、VB.NET、F#、XAML和TypeScript。

.NET Core更适合跨平台需求。.NET Core应用程序支持在Windows,Linux和macOS上运行。Linux和macOS上也都支持Microsoft流行的开源代码编辑器Visual Studio Code。VS Code支持代码编辑器的现代需求,包括智能提醒和调试。大多数第三方编辑器(如Sublime,Emacs和VI)都支持.NET Core。

.Net Core的总结相关推荐

  1. H.265 HD 和H.265 4K Video Encoder IP Core

    H.265 HD 和H.265 4K Video Encoder IP Core H.265 HD Video Encoder IP Core(H.265 HD Video/Audio Encoder ...

  2. NVIDIA深度学习Tensor Core性能解析(下)

    NVIDIA深度学习Tensor Core性能解析(下) DeepBench推理测试之RNN和Sparse GEMM DeepBench的最后一项推理测试是RNN和Sparse GEMM,虽然测试中可 ...

  3. NVIDIA深度学习Tensor Core性能解析(上)

    NVIDIA深度学习Tensor Core性能解析(上) 本篇将通过多项测试来考验Volta架构,利用各种深度学习框架来了解Tensor Core的性能. 很多时候,深度学习这样的新领域会让人难以理解 ...

  4. Tensor Core技术解析(上)

    Tensor Core技术解析(上) NVIDIA在SIGGRAPH 2018上正式发布了新一代GPU架构--Turing(图灵),黄仁勋称Turing架构是自2006年CUDA GPU发明以来最大的 ...

  5. 2021年大数据Spark(十八):Spark Core的RDD Checkpoint

    目录 RDD Checkpoint 引入 API 代码演示 总结:持久化和Checkpoint的区别 问题: 答案: 区别: RDD Checkpoint 引入 RDD 数据可以持久化,但是持久化/缓 ...

  6. .NET Core微服务之基于MassTransit实现数据最终一致性(Part 1)

    Tip: 此篇已加入.NET Core微服务基础系列文章索引 一.预备知识:数据一致性 关于数据一致性的文章,园子里已经有很多了,如果你还不了解,那么可以通过以下的几篇文章去快速地了解了解,有个感性认 ...

  7. Asp.Net Core在线生成二维码

    前言: 原先用zxing Code写过基于Winfrom的批量生成二维码工具,以及单个生成二维码工具:批量生成二维码Gihub源代码 今天尝试用QRCoder 加 Asp.Net Core 写了一个在 ...

  8. .Net Core快速创建Windows服务

    1.新建.Net Core控制台程序,添加新建项Windows服务: 修改Progran.cs: class Program{static void Main(string[] args){Servi ...

  9. .net core 中的[FromBody]

    一.针对.net core中post类型的api注意的地方(前提是Controller上加[ApiController]特性).默认是这个. 1.如果客户端Content-Type是applicati ...

  10. PetaPoco - 轻量级高性能的ORM框架(支持.NET Core)

    我们都知道ORM全称叫做Object Relationship Mapper,也就是可以用object来map我们的db. 而且市面上的orm框架有很多,有重量级的Entity Framework,有 ...

最新文章

  1. pytorchviz visdom 可视化 pytorch
  2. 实验三 Gmapping建图
  3. silverlight, 双击事件
  4. 图解排序算法(四)之归并排序
  5. access开发内销核算系统
  6. Linux 用户篇——用户管理的配置文件
  7. ubuntu下对Atom配置python的虚拟环境
  8. 如何解决Error: failed PB timebomb check
  9. kibana报错:No default index pattern. You must select or create one to continue.
  10. 关于CreateWindowEx及自己封装Window类
  11. [转]WebService压缩
  12. 2017-12-24 手机编程环境初尝试-用AIDE开发Android应用...
  13. C语言实现64格棋盘,在第1个方格放1粒小麦、第2个方格放2粒、第3个方格放4粒小麦,第4个方格放8粒小麦、计算出每个方格应放多少小麦,并计算了总数。把计算的小麦总数与世界小麦年产量相比较。
  14. uva 10098 Generating Fast
  15. gatk过滤_GATK使用方法详解(相关参数和参考文件说明)
  16. SAP SD 销售订单收入和成本对应科目的逻辑
  17. Arturia黑五促销,仅剩一天
  18. k8s的yaml文件配置详解(三)
  19. atto软件测试速度,评测平台介绍及HD Tune、ATTO性能测试
  20. 盈透api python封装_盈透证券 简单API 实战

热门文章

  1. 【科普】和尚为何要吃素不吃肉
  2. 网文作者御用写作软件| Effie:网文签约到底难不难?
  3. java生成PDF(图片,模板,表格)
  4. Centos8 安装 rdesktop
  5. SDK 和 API 的区别
  6. 易语言2020年POST教程
  7. 人工智能基础与线性回归模型
  8. 将代码美观地复制到word的网站
  9. 测试工程师如何使用 CODING 进行测试管理
  10. 矩阵论(八):矩阵微分与矩阵求导