.NET Core Runtime vs .NET Framework Runtime

4ff6638d8a5ca983c3afc1a8ffc995b5.png

在我从 .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。

a4516fbf313e66f288115d12e2c57f48.png

那么,为什么 .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

331c9a7004316035dc86f129e2610394.png

现在事情已经很清楚了!

  混乱的根源 

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

39968fe030df876521fbd106d63ee1a6.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/292450.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux下ctrl 常用组合键

Ctrlc 结束正在运行的程序 Ctrld 结束输入或退出shell Ctrls 暂停屏幕输出【锁住终端】 Ctrlq 恢复屏幕输出【解锁终端】 Ctrll 清屏,【是字母L的小写】等同于Clear Ctrla 切换到命令行开始 Ctrle 切换到命令行末尾 Ctrlu 清除剪切光标之前的内容 Ctrlk 清除剪切光标…

“玻璃大王”曹德旺捐资100亿办大学!幼年失学的他要打造理工科研究型大学...

全世界只有3.14 % 的人关注了爆炸吧知识本文转自募格学术整理自:量子位(作者贾浩楠、鱼羊)、青塔等100亿投资,福建省迎来第一个“新型大学”。办学资金,来自生长于福建,在福建发家致富的“玻璃大王”曹德旺…

python进程join的用法_python 进程介绍 进程简单使用 join 验证空间隔离

一、多道程序设计技术(详情参考:https://www.cnblogs.com/clschao/articles/9613464.html)所谓多道程序设计技术,就是指允许多个程序同时进入内存并运行。即同时把多个程序放入内存,并允许它们交替在CPU中运行,它们共享系统中的各…

北京易维清的自荐

北京易维清是什么东西呢,是一家以asp.net、winform、MVC源代码生成器为主打产品,同时兼顾信息管理系统项目开发的信息技术公司,更多信息可以访问www.evkchina.com 不过这里不是北京易维清的广告也不是产品说明书,广告什么的都是浮…

PHP的学习--PHP的闭包

php的闭包(Closure)也就是匿名函数,是PHP5.3引入的。 闭包的语法很简单,需要注意的关键字就只有use,use是连接闭包和外界变量。 $a function() use($b) {} 简单例子如下: function callback($fun) { $fun(…

JAVA配置Tomcat

1.下载tomcat,我jdk是1.8的,网上查了一下,说要安装tomcat8及以上的tomcat 尝试点击,弹出, 2.配置环境 3.安装通过cmd安装 4.点击开启服务 5.输入localhost:8080查看 6.还可以通过tomcat8w.exe来启动窗口,开…

如何使用 C# 判断一个文件是否为程序集

程序集是经由编译器编译得到的,供 CLR 进一步编译执行的那个中间产物。它一般表现为 .dll 或者是 .exe 的格式,但是要注意,它们跟普通意义上的 WIN32 可执行程序是完全不同的东西,程序集必须依靠 CLR 才能顺利执行。程序集是 .NET…

Android之手机文件夹目录详解

android系统的手机文件夹目录详解一、文件夹1./acct/系统回收站,删除的系统文件。2./cache/缓存3./data/用户的所有程序相关数据app/所有用户安装的apk文件app-private/data/每一个应用的数据com.xx.appname/每一个应用的数据都存放在本目录下的一个以包名为命名的文…

女孩看男孩VS男孩看女孩

1 这波猫粮我吃了!2 论一只狗子的自娱自乐精神!3 分享一个 “想死你了”的拥抱!4 老师:下课铃不代表这节课上完了5 谁怕谁啊!6 好像很有道理的样子7 将它们展开会是什么?你点的每个赞,我都认真当…

利用js对table动态增加和删除行(附带table样式,鼠标滑过和点击样式)

看了一下午各种大牛关于js动态画表的文章&#xff0c;自己也手痒写了一个。附带了一些table的样式&#xff0c;鼠标滑过和选择的样式。有用的拿去参考&#xff0c;有意见和想法的也随时欢饮交流&#xff0c;本人只是用firefox和IE11测试可用。下面是htm代码&#xff1a;<bod…

Struts 2.x No result defined for action 异常

这是我跑struts2的第一个例子&#xff0c;跑的也够郁闷的&#xff0c;这个问题烦了我几个钟。。。 2011-5-10 10:10:17 com.opensymphony.xwork2.util.logging.commons.CommonsLogger warn警告: Could not find action or resultNo result defined for action com.augur.action…

python 文件写入多个参数_pandas 把数据写入txt文件每行固定写入一定数量的值方法...

我遇到的情况是&#xff1a;把数据按一定的时间段提出。比如提出每天6:00-8:00的每个数据&#xff0c;可以这样做&#xff1a;# -*-coding: utf-8 -*-import pandas as pdimport datetime#读取csv文件dfpd.read_csv(A_220DoWVC.csv)#求ave_time这一列的平均值aveTimedf[ave_tim…

使用建造者模式创建模拟数据

前言在写测试用例时&#xff0c;我们经常需要创建模拟数据&#xff0c;在C#中常用的方式是使用nuget包Bogus。Bogus可以按照一定规则生成随机数据&#xff0c;示例代码如下&#xff1a;public class User {public string Name { get; set; }public int Age { get; set; }public…

字符串之将整数字符串转成整数值

题目: 字符串之将整形字符串转成整数值,并且属于32位整数范围 例如: str = "123" 返回 123 str = "012" 不符合书写习惯,所以返回0 str = "A12" 返回0 str = " 0" 返回 0 str = "214783647" 返回 2147836…

JMeter学习(六)集合点

JMeter也有像LR中的集合点&#xff0c;本篇就来介绍下JMeter的集合点如何去实现。 JMeter里面的集合点通过添加定时器来完成。 注意&#xff1a;集合点的位置一定要在Sample之前. 集合点&#xff1a;简单来理解一下&#xff0c;虽然我们的“性能测试”理解为“多用户并发测试”…

无意间看到的浏览器记录......

1 喵&#xff1a;我是风一样的喵主子...啊错了&#xff08;素材来源网络&#xff0c;侵删&#xff09;▼2 老了谁照顾你&#xff1f;▼3 帮妈妈清理手机垃圾▼4 你现在做什么工作&#xff1f;&#xff08;via.欢声笑语bot&#xff0c;侵删&#xff09;▼5 社会社会&#xf…

linux C/C++开发环境搭建指南

2019独角兽企业重金招聘Python工程师标准>>> Eclipse IDE for C/C developers 就是安装了CDT的Eclipse IDE了。 一、安装基本开发环境 本人想学习一下Linux下的C&#xff0c;C&#xff0b;&#xff0b;程序开发&#xff0c;这几天一直在研究Linux下的C语言编译环境…

字符串之替换字符串中连续出现的指定字符串

题目: 字符串之替换字符串中连续出现的指定字符串 给定3个字符串str from to已知from字符串无重复字符,把str中所有from的子串全都替换成to字符串,连续出现from只需要换成一个to就可。 例如: str="123adc" from = "adc" to ="4567" 返回1…

网站能拿到其他网站的cookie_如何设计网站能让网站建设的更有吸引力

现在做互联网营销的企业基本都是有自己的企业网站&#xff0c;不过要做好企业网站不能简简单单的套个模板&#xff0c;这样做出来的网站毫无吸引力&#xff0c;做好的网站那么网站的设计的很重要的&#xff0c;换个思维大家想一下&#xff0c;网站的设计就和我们线下开门店装修…

.NET6之MiniAPI(九):基于角色的身份验证和授权

身份验证是这样一个过程&#xff1a;由用户提供凭据&#xff0c;然后将其与存储在操作系统、数据库、应用或资源中的凭据进行比较。 在授权过程中&#xff0c;如果凭据匹配&#xff0c;则用户身份验证成功&#xff0c;可执行已向其授权的操作。 授权指判断允许用户执行的操作的…