前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >.NET Core Runtime vs .NET Framework Runtime

.NET Core Runtime vs .NET Framework Runtime

作者头像
全球技术精选
发布2022-02-09 09:07:59
6110
发布2022-02-09 09:07: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 运行时工作。

为什么有这么多运行时?

真让人头大 (如果您和之前的 .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 应用程序,同时需要 ASP.NET Core 运行时.NET Core 运行时

总而言之,运行 .NET Core Web 应用程序需要以下条件:

•.NET Core 运行时 (CoreCLR + BCL)•ASP.NET Core 运行时(.NET Core 框架的类库)

您可以从这个位置查看所有已安装的运行时:C:\Program Files\dotnet\shared

现在事情已经很清楚了!

混乱的根源

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-01-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 半栈程序员 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档