在我的博客系列中,《.net平台系列2 .net framework 框架详解》和《.net平台系列7 .net core 体系结构详解》分别深入探讨了.net framework和.net core的核心组成及其各部分的原理。本文将通过不同的角度,直接对比两者的差异。
体系结构对比

.NET平台自推出以来就具备跨平台能力。.NET Framework本身是一个跨平台解决方案,支持C#和VB等编程语言,这些语言遵循公共语言规范(Common Language Specification,简称CLS),生成的应用程序最终会编译成公共中间语言(Common Intermediate Language,简称CIL)或MSIL(微软中间语言)执行。从多层架构设计的角度来看,若要使其不仅在多种Windows操作系统上运行,还能在macOS和Linux操作系统上运行,主要需要修改架构底层与操作系统相关的部分,而原有的多种编程语言与运行的操作系统关系不大。
与.NET Framework的公共语言运行时(Common Language Runtime,简称CLR)相比,.NET Core重新设计了CoreCLR,并引入了称为CoreFX的基础类库(Base Class Library,简称BCL)。
代码库体积对比
.NET Framework在不断升级的过程中变得更加强大和完备,但也变得越来越臃肿。随着版本的不断升级,构成.NET Framework的应用模型、BCL和运行时(CLR)都在不断膨胀(.NET Framework 2.0/3.x和.NET Framework 4.x分别使用CLR 2.0和CLR 4.0)。
.NET Core借鉴了.NET Framework的优秀理念和强大功能,重新构建了一个更为轻量的新框架。Windows Forms和Windows Presentation Foundation(WPF)用于构建图形用户界面(GUI)应用程序,与Windows生态系统紧密相连,因此无法跨平台,已从macOS和Linux的.NET Core中移除。
下图引用微软官方帮助文档中的一幅图,通过饼图和柱状图展示了CoreFX中针对各个操作系统(Windows、Unix、Linux和OS X)的C#代码比例和代码行数。可以看到,90%的CoreFX代码与操作系统无关,因此在使用ASP.NET Core时,不同操作系统的影响也非常小。
发版周期对比
在.NET Framework时代,每发布一个重大版本需要1年、2年甚至3年,发布周期相对较长。
从《.NET Core发展历程》图中可以看到,自.NET Core 1.0于2016年6月26日正式发布,至2019年12月发布.NET Core 3.1版本,基本上每年发布一个大的版本。.NET 5已于2020年11月正式发布。微软.NET团队计划未来每年第四季度发布一个重大版本,其中奇数标记的为GA版本,偶数标记的为LTS版本。
总结
参考文献:
https://www.php.cn/link/0b890a8ca95e146ae3686e4bd3b8c9d2
系列目录 【已更新最新开发文章,点击查看详细】
以上就是.NET平台系列22:.NET Core/.NET5/.NET6 对比 .NET Framework的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号