IE盒子

搜索
查看: 135|回复: 0

.NET Core Runtime vs .NET Framework Runtime

[复制链接]

3

主题

9

帖子

17

积分

新手上路

Rank: 1

积分
17
发表于 2023-1-15 21:39:59 | 显示全部楼层 |阅读模式

在我从 .NET Framework 到 .NET Core 的过渡期间,有一件事情让我很长时间都感到困惑,那就是 Runtime 运行时, 实际上 Runtime 在 .NET Framework 和 .NET Core 中具有不同的含义。
.NET Framework 运行时的历史

当有人问我们,什么是 .NET Framework 运行时,我们都会说 CLR(公共语言运行时),这是绝对正确的。
这就自动给我们留下了一个印象,.NET Core 的运行时就是 CoreCLR。然而,这也是对的。
但是现在让我们了解一下 .NET Core 运行时除了 CoreCLR 之外, 还有什么额外的东西?
  .NET Core 运行时有哪些新功能?

很多网站上都提到, 您必须下载 .NET Core 运行时才能运行 .NET Core 应用程序,或者安装最新的运行时才能运行 .NET 6 程序,因为 .NET 6 程序不能在之前的 .NET 5 运行时或者 .NET Core 3.1 运行时工作。
.NET6零基础教程

学习.NET6技术,讲解.NET6从入门到实战,解密.ASP.NETCore框架详细揭秘,应用实战实操,.NET6+微服务架构实战,容器技术Docker、WebAPI等揭秘,都是免费的,非常值得学习哟。


本教程16个视频课时,主要以.NET6背景,框架设计,.NET6从入门到精通-代码+脚本+文档展开。从环境准备到ASP.NETCore开发,系统得梳理了各项流程,从零开始了解基于C#语言开发的工具、项目,跟着实操。最终能独立完成基于.NET语言的基本开发。
教程免费自取:

由于内容过多不便呈现,需要视频教程和配套源码的小伙伴,可添加个人说明处号码 免费分享
也可直接点击下方卡片:点击后可自动复制威芯号,并跳转到威芯。得辛苦大家自行搜索威芯号添加。内容已做打包,添加后直接发送注意查收!
为什么有这么多运行时?

真让人头大 (如果您和之前的 .NET Framework 进行比较),因为我们没有在 .NET Framework 中更新过运行时, 包括从 4.5 升级到 4.6,或从 4.6 升级到 4.7 或 4.8。


那么,为什么 .NET Core 会要求我们更新运行时呢?

好吧,实际上 运行时 在不同的上下文中具有不同的含义。
•.NET Framework 中的运行时只是 CLR•.NET Core 中的运行时不仅仅是 CoreCLR,还包括 .NET Core 基础类库 (BCL)。
文章内容转载公号全球技术精选,可联系侵删!
从 .NET Core 开始,Microsoft 就传达出一个信息, .NET Core 运行时不仅仅是 CLR,它还包括运行 .NET Core 应用程序所必需的一切。
所以,典型的 .NET Core 运行时 包括了以下内容:
CoreCLR — 实际运行时•.NET Core BCL — 基础类库
安装 .NET Core 运行时后,就可以运行.NET Core 控制台应用程序。
但是仅安装了 .NET Core 运行时, 并不能运行 .NET Core Web 应用程序。
如果要运行 .NET Core Web 应用程序,同时需要 http://ASP.NET Core 运行时.NET Core 运行时
总而言之,运行 .NET Core Web 应用程序需要以下条件:
•.NET Core 运行时 (CoreCLR + BCL)•http://ASP.NET Core 运行时(.NET Core 框架的类库)
您可以从这个位置查看所有已安装的运行时:C:\Program Files\dotnet\shared



现在事情已经很清楚了!
  混乱的根源

造成这些混乱的原因是,对于早期的 .NET Framework,我们没有将 BCL(基础类库)视为运行时的一部分,而只是将 CLR 视为运行时。理想情况下,CLR 和 BCL 应该统称为 .NET Framework Runtime
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表