.NET Core 是一个通用开发平台,它由微软和开源社区共同管理(git hub的.NET开源社区);
他支持Windows,macOS和Linux,并且可以运行在硬件设备中、云平台上和物联网嵌入式设备中;
.NET Core的主要标志性特征如下:
-
弹性部署:他可以运行在你的应用内部,也可以被部署在一个服务器群集上;
-
跨平台:他可以运行在Windows,macOS和Linux上;也可以移植到其他操作系统上;被支持的操作系统、CPU和应用场景,将会随着时间推移,越来越多;未来微软和其他公司、个人都会为此做出贡献;
-
命令行工具:所有的产品应用都可以在命令行工具下执行
-
兼容性:.NET Core通过.NET标准库(.NET Standard Library)实现兼容性,其兼容.NET Framework, Xamarin 和 Mono
-
开源:它基于MIT 和 Apache 2开源,文档遵从CC-BY规范;.NET Core是.NET基金会的一个项目;
-
微软支持:微软支持.NET Core,具体信息请查阅:https://www.microsoft.com/net/core/support/
.NET Core的主要组成部分如下:
-
.NET运行时(主要包括:类型系统、程序集加载、垃圾回收、原生程序的互操作接口、其他基础服务)
-
一批框架类库(主要包括:原始数据类型、应用组成类型、基础工具集)
-
SDK工具集和语言编译器(.NET Core SDK提供最基础的开发支持)
-
dotnet应用加载器(运行时选择器、运行时装载器、程序集加载规则、SDK工具装载器)
支持的语言如下:
可以用C# 和 F#来开发.NET Core的类库和应用;
Visual Basic也将得到支持,但目前还没有;
编译器直接运行在.NET Core 中;
这样你可以随时随地编译你的.NET Core程序;
(一般你不会直接使用.NET Core提供的编译器,你会直接使用SDK提供的工具来编译你的程序)
编译器可以很好的和多种不同的IDE或者文本编辑工具来结合;
比如:Visual Studio, Visual Studio Code, Sublime Text 和 Vim;
你可以到OmniSharp找到你想要的语言开发环境(注意OmniSharp是非微软官方支持的民间组织)
.NET API和兼容性:
.NET Core可以被理解为一个跨平台版本的.NET Framework,它处于.NET基础类库层(BCL)
它实现了.NET标准库的规范;它提供的API是.NET Framework的子集;
在某些情况下,并不是所有.NET Framework提供的类型都被.NET Core实现了;
想进一步了解.NET Core的路线图,可以看这里:https://github.com/dotnet/core/blob/master/roadmap.md
与.NET标准库(.NET Standard Library)的关系:
.NET标准库是一种API技术规格,
它约束所有.NET实现必须遵从此规格,
只要遵从此规格的.NET的实现,就可以互相兼容;
.NET Core是一种.NET标准库的实现;
工作内容:
.NET Core自带命令行工具,可以运行独立的命令行程序、基于命令行的本地服务、基于命令行的文本游戏;
在.NET Core之上已经建立了一部分扩展应用模块,比如:
-
Windows 10 Universal Windows Platform (UWP)
-
分发方式:
官方使用两种方式分发.NET Core,
一种方式是把.NET Core的分法包发布到NuGet.org上去;
一种方式是发布独立的安装包;
你可以通过VisualStudio等工具获取.NET Core
2017年春天将发布.NET Core2.0