.net core扫盲

.NET已经发布十几个年头了,“开源”和“跨平台”这两个词语也是所有.NET开发者心中的痛楚。最终,.NET Core出现了,它让开发者们在官方和社区的支持走出了Windows,可以在macOS,Linux主流distributions上编写调试并部署.NET程序。

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


一 .NET Core 组成

  • .NET Runtime

即CoreCLR。如之前所说,CoreCLR与.NET Framework的CLR并没有什么区别,进程管理,GC,JIT(RyuJIT 编译器)这些部分也都是一样的,只是针对服务器系统做了相应优化。现在CLR和CoreCLR也在进行同步更新,只是可以肯定的是,CoreCLR才是.NET的未来,CLR将作为兼容手段而存在

  • Framework Libraries

即CoreFX。包括集合类,文件系统处理类,XML处理类,异步Task类等

  • SDK Tools 和 Language Compilers (SDK工具和编译器)

即CLI工具和Roslyn编译器。可以通过.NET Core SDK(.NET Core开发工具包)获取

  • Dotnet’app Host

用来选取并执行对应运行时,提供组件载入原则和启动.NET Core应用程序。SDK也是通过相同程序启动

二 .NET Core 特性

  • 跨平台

可以在Windows,macOS,Linux上运行

  • 灵活的部署机制

1.Portable applications(便携式应用)

这种部署机制和传统的.NET Framework相似,只要目标平台上存在.NET Core Runtime即可。

2.Self-contained application(自宿主应用)

顾名思义,这种部署机制将应用和运行时共同打包,即便目标平台上没有安装.NET Core Runtime也能正常使用

第二种方式和.NET Native也是不一样的,仍然使用CoreCLR,而.NET Native使用CoreRT作为运行时,详细信息请见dotnet/corert

  • 命令行工具

.NET程序所有的运行脚本都可以用命令行工具执行(cmd,bash)这里有几个常见的donnet命令

  • 兼容性

通过.NET Standard Library与.NET Framework,Xamarin,Mono兼容

  • 开源

.NET Core从属于.NET基金会,由微软进行官方支持。使用MIT和Apache 2开源协议,文档协议遵循CC-BY


扫盲   net   core
发表评论
留言与评论(共有 0 条评论)
   
验证码:

相关文章

推荐文章

'); })();