.NET Core 概述

.NET Core是一个免费的、开源的、跨平台的、广泛使用的Web框架;它是由微软维护的。社区广泛参与支持的一个框架。.NET Core可以运行在:Windows、MacOS以及Linux操作系统上。

.Net Core可以用来开发各种不同的应用程序,例如:移动端、桌面端、Web、Cloud、IoT、机器学习、微服务、游戏开发等等。

.Net Core是从头到尾重新开发的一个模块化、轻量级、快速的、跨平台框架。它包含了运行一个.NET Core基本程序所必须的核心特性。其他特性,例如:Nuget包,你可以根据需要添加到应用程序中,所以.Net Core启动快,内存占用少,并且易于维护。

为什么使用.NET Core

.Net Framework有一些限制。例如,它只能运行在Windows平台上,此外还有,你需要针对不同的平台应用程序,例如:Windows桌面应用程序、Windows应用商店、Windows Phone以及Web应用程序,使用不同的.NET APIS;除此之外,.NET Framework自身的依赖项太多,应用程序任何一点小的改动,都会要修改很多地方。

时代发展到今天,跨平台的应用程序开发变得非常重要,通过跨平台开发,我们可以写一处代码,就可以各个平台都可以运行。使用.NET Core就可以轻松做到这一点。

.NET Core 优点

1.开源的框架:.NET Core是一个开源的框架,由微软维护,在Github上的地址是:https://github.com/dotnet/core ,此外.NET Core是一个.NET 基金会项目 。

你可以查看、下载、以及贡献源代码,通过下方的GitHub仓库:

2.跨平台:.Net Core可以运行在Windows、MacOS以及Linux操作系统上,对于每个操作系统有不同的.net core运行时,执行代码,生成相同的输出;

3.一致的架构:在不同的指令集架构中,以相同的行为执行代码,包括:x64、x86以及ARM。

4.支持广泛领域的应用:各种不同类型的应用程序,都能被开发并且运行在.NET Core平台上,例如:移动端应用程序、桌面端应用程序、Web网页应用程序、Cloud云应用、IoT物联网应用、机器学习、微服务、游戏开发领域等等。

5.支持多个语言:你可以使用C#、F#、以及Visual Basic编程语言来开发.NET Core应用程序。你可以使用你自己喜欢的开发工具【IDE】,包含:Visual Studio2017/2019、Visual Studio Code、Sublime Text、Vim等等。

6.模块化的结构:.Net Core通过使用Nuget包管理,支持模块化开发。有各种不同的Nuget包,可以根据需要添加到你的项目中,甚至.NET Core 类库也是以包管理的形式提供的。.NET Core应用程序默认的包就是:Microsoft.NETCore.App ,模块化的结构,减少了内存占用,提升了性能,并且更易于维护。

7.CLI工具:.Net Core包含CLI工具(Command-line interface)用于开发和持续集成。

8.更灵活的部署:.Net Core应用程序可以部署在用户范围内、或者系统范围内、或者Docker容器中;

9.兼容性:.NET Core通过使用.NET Standard标准,可以兼容.NET Framework以及Mono的API ;

.Net Core历史版本

.NET Core 3.1和2.1将会长期支持

.NET Core 3.x 应用程序只能运行在.Net Core 框架上

.Net Core 2.x 应用程序可以运行在.NET Core和.NET Framework上

.Net Core的组成

.NET Core框架由下面几个部门组成:

CLI 工具:一系列用于开发和发布的工具;

Roslyn: C#、Visual Basic语言编译器;

CoreFX: 一系列的框架类库;

CoreCLR:基于CLR的即时编译器(Command Language Runtime)

有用的资源链接

在这里可以找到.NET Core 类型以及成员声明、文件、以及程序集:.NET Core Source Browser ;

获取.NET Core 类型帮助:.NET Core API Reference Docs ;

详细学习.NET Core,可以看这个: https://docs.microsoft.com/en-us/dotnet/core ;

下载.NET Core运行时以及SDK: https://dotnet.microsoft.com/download/dotnet-core ;

https://docs.microsoft.com/en-us/dotnet/core

1.NET Core 概述的更多相关文章

  1. [翻译] EF Core 概述

    Entity Framework Core in Action Entityframework Core in action是 Jon P smith 所著的关于Entityframework Cor ...

  2. oracle core 概述

    oracle数据库系统的架构及其复杂,其提供的特性也非常的多.作为一种关系型数据库,oracle提供的基本特性: transaction concurrency read consistent 而支撑 ...

  3. EF Core in Action 中文翻译 第一部分导航

    Entityframework Core in action Entityframework Core in action是 Jon P smith 所著的关于Entityframework Core ...

  4. EF Core 快速上手——EF Core 入门

    EF Core 快速上手--EF Core 介绍 本章导航 从本书你能学到什么 对EF6.x 程序员的一些话 EF Core 概述 1.3.1 ORM框架的缺点 第一个EF Core应用   本文是对 ...

  5. 使用Visual Studio Team Services持续集成(一)——构建ASP.NET Core

    使用Visual Studio Team Services持续集成(一)--构建ASP.NET Core 概述 持续集成(CI)是将代码尽可能频繁地集成到共享仓库中的过程.在代码集成期间,构建中断或测 ...

  6. 《闲聊 ASP.NET Core》系列直播清单

    [闲聊 ASP.NET Core]第一期:项目与应用结构 [闲聊 ASP.NET Core]第二期:Web Host 初始化与生命周期事件 [闲聊ASP.NET Core]第三期:应用程序配置 [闲聊 ...

  7. 6. [mmc subsystem] mmc core(第六章)——mmc core主模块

    一.说明 1.mmc core概述 mmc core主模块是mmc core的实现核心.也是本章的重点内容. 对应代码位置drivers/mmc/core/core.c. 其主要负责如下功能: mmc ...

  8. ASP.NET Core新书终于上市,完成今年一个目标,赠书活动

    2018年.NET Core 2.0发布后,开始逐步学习.NET Core 并逐步在新的项目中使用ASP.NET Core.并且零零散散写的写了将近30篇学习笔记发到园子里,包括ASP.NET Cor ...

  9. ASP.NET Core 6 从入门到企业级实战开发应用技术汇总

    系列目录     [已更新最新开发文章,点击查看详细] 本系列博客主要介绍.NET6相关技术,从基础入门.进阶提升到高级升华,最后通过一个企业级项目实战来检验技术应用能力.把个人技术与经验分享出来,抛 ...

随机推荐

  1. .Net Core WebApi在Linux上启动和关闭

    测试机器:阿里云云主机1核2g 安装环境:centos-7 服务器:Nginx 1.17.1 测试默认已启动 已安装配置:.Net Core 3.1 测试默认安装 连接配置:x-ftp,x-shell ...

  2. python-面向对象小结

    面向对象 小结 1:面向对象:就是一种编程思想 简称oop,指挥某某完成能完成的功能 2:面向对象与面向过程的优缺点 : 面向过程: 优点: 复杂问题简答化(一步一步解决), 流程化, 缺点:机械化 ...

  3. DEX文件解析---2、Dex文件checksum(校验和)解析

    一.checksum介绍     checksum(校验和)是DEX位于文件头部的一个信息,用来判断DEX文件是否损坏或者被篡改,它位于头部的0x08偏移地址处,占用4个字节,采用小端序存储.     ...

  4. 使用java短信验证

    package cn.geekss.util; import java.io.BufferedReader;import java.io.InputStreamReader;import java.i ...

  5. zabbix基本概述

    #zabbix简介 zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案 #官网地址 #官方网站 http://www.zabbix.com #zabbix4.2 ...

  6. linux ftp服务器设置,只允许用户访问指定的文件夹,禁止访问其他文件夹

    在Linux中添加ftp用户,并设置相应的权限,操作步骤如下: 1.环境:ftp为vsftp.被限制用户名为test.被限制路径为/home/test 2.建用户:在root用户下: useradd ...

  7. codecs打开不同步给编码的文件

    实例: with codecs.open(file=源文件,mode='命令',encoding='编(解)码方式') as 命名:

  8. ipadmini iOS8.4.1系统精简

    主要是删除一些系统自带的应用.语言,以及关闭不需要的进程. 精简之后运行流畅性还是能看得出有所提升的.(流畅的玩点游戏还是可行的) 文件的操作可以用Filza.iFile,也可以用爱思助手,但是爱思助 ...

  9. Jenkinsfile里定义对象和函数,获取git提交人, 发送钉钉通知

    自从开始使用Jenkinsfile作为Jenkins配置后就一发不可收,因为开发者自定义CI脚本实在太方便了. 比如,最近开发的以一个项目涉及多人,提交冲突挺多的,有的人自己没编译通过就提交了,导致后 ...

  10. android studio 添加 apache.http