1.NET Core 概述
.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仓库:
- 语言编译平台Roslyn:https://github.com/dotnet/roslyn
- .Net Core运行时: https://github.com/dotnet/runtime
- .Net Core SDK仓库:https://github.com/dotnet/sdk
- ASP.NET Core仓库:https://github.com/dotnet/aspnetcore
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 概述的更多相关文章
- [翻译] EF Core 概述
Entity Framework Core in Action Entityframework Core in action是 Jon P smith 所著的关于Entityframework Cor ...
- oracle core 概述
oracle数据库系统的架构及其复杂,其提供的特性也非常的多.作为一种关系型数据库,oracle提供的基本特性: transaction concurrency read consistent 而支撑 ...
- EF Core in Action 中文翻译 第一部分导航
Entityframework Core in action Entityframework Core in action是 Jon P smith 所著的关于Entityframework Core ...
- EF Core 快速上手——EF Core 入门
EF Core 快速上手--EF Core 介绍 本章导航 从本书你能学到什么 对EF6.x 程序员的一些话 EF Core 概述 1.3.1 ORM框架的缺点 第一个EF Core应用 本文是对 ...
- 使用Visual Studio Team Services持续集成(一)——构建ASP.NET Core
使用Visual Studio Team Services持续集成(一)--构建ASP.NET Core 概述 持续集成(CI)是将代码尽可能频繁地集成到共享仓库中的过程.在代码集成期间,构建中断或测 ...
- 《闲聊 ASP.NET Core》系列直播清单
[闲聊 ASP.NET Core]第一期:项目与应用结构 [闲聊 ASP.NET Core]第二期:Web Host 初始化与生命周期事件 [闲聊ASP.NET Core]第三期:应用程序配置 [闲聊 ...
- 6. [mmc subsystem] mmc core(第六章)——mmc core主模块
一.说明 1.mmc core概述 mmc core主模块是mmc core的实现核心.也是本章的重点内容. 对应代码位置drivers/mmc/core/core.c. 其主要负责如下功能: mmc ...
- ASP.NET Core新书终于上市,完成今年一个目标,赠书活动
2018年.NET Core 2.0发布后,开始逐步学习.NET Core 并逐步在新的项目中使用ASP.NET Core.并且零零散散写的写了将近30篇学习笔记发到园子里,包括ASP.NET Cor ...
- ASP.NET Core 6 从入门到企业级实战开发应用技术汇总
系列目录 [已更新最新开发文章,点击查看详细] 本系列博客主要介绍.NET6相关技术,从基础入门.进阶提升到高级升华,最后通过一个企业级项目实战来检验技术应用能力.把个人技术与经验分享出来,抛 ...
随机推荐
- wepack环境配置1之node的安装
.向往已久的webpack终于配好了.. 1.要安装webpack,首先需要安装nodejs nodejs下载地址:https://nodejs.org/en/ 下载完成后,一步步安装即可,我是安装到 ...
- IP 地址与MAC硬件地址
IP 地址与MAC硬件地址 我们都知道数据通信要使用IP地址加MAC地址,两个地址缺一不可,下为原理图: 1.下面介绍计算机A与计算机B通信的过程 交换机基于数据帧的MAC地址转发数据帧,路由器基于数 ...
- unittest实战(三):用例编写
# coding:utf-8import unittestfrom selenium import webdriverimport timefrom ddt import ddt, data, unp ...
- MySQL之单表多表查询
#1.单表查询 #单表查询语法 select <字段1,字段2....> from <表名> where <表达式> group by field 分组 havin ...
- java反序列化-ysoserial-调试分析总结篇(5)
前言: 这篇文章继续分析commonscollections5,由如下调用链可以看到此时最外层的类不是annotationinvoke,也不是priorityqueue了,变成了badattribut ...
- 小程序打开web-view传参数注意事项
通过URL传参数过去的参数值建议使用BASE64 加密后传输 (尤其是值含有 ‘中文’,‘符号’,‘http’ 的内容) 试过使用 encodeURI, encodeURLComment ,es ...
- 利用virtualenvwrapper创建虚拟环境出现错误“/usr/bin/python: No module named virtualenvwrapper”
Linux:CentOS7 python: 系统默认python版本2.7,利用python启动 自己安装python版本3.8,利用python3启动 问题描述: 在上述环境中利用virtualen ...
- 03 Hibernate入门
Hibernate 说明 由于JPA是sun公司制定的API规范,所以我们不需要导入额外的JPA相关的jar包,只需要导入JPA的提供商的jar包.我们选择Hibernate作为JPA的提供商,所以需 ...
- LoadRunner初入门(安装)
在经过了两天网上找软件-真机上装软件-完了发现真机不能用(不能用的原因就是IE不能打开 试了很多方法现在真机上的ie变成了ie8英文版),果断用上了虚拟机 虚拟机刚开始要装镜像 一开始下的是64位的发 ...
- nohub 将程序永久运行下去
今天看了一遍文章,一直以为将程序制成sh脚本,通过crontab来间隔执行以为是真的不断执行,后来才发现是错误的,每隔一段时间都会执行一次,都会占用一个进程,难怪一看进程几十来个同样名字的进程在运行 ...