AI问答:.NET核心组成概要、程序运行步骤和查询SDK版本的方法


.NET三大组成

①Runtime (运行时):

CLR:公共语言运行时,执行程序、内存管理、垃圾回收(GC)、安全性检查、异常处理,是跨平台的关键要素。

JIT:实时编译器,将中间语言 (IL) 代码编译成机器码。

②BCL:类库集合,例如文件读写等(System.* 命名空间的库)

③SDK:软件开发工具包,例如dotnet 命令行工具,Nuget包等。


.NET程序运行的大致步骤

  1. 编写:开发人员用VS2022编写代码

(1.5预编译:代码分析和检查)

  1. 编译:C# 编译器编译源代码,源代码转换为与平台无关的中间语言 (IL) 代码,并且生成程序集(元数据,.dll , .exe 文件)

  2. 构建过程:C# 编译器将编译后的 IL 代码与其他资源、其他库和依赖项链接,形成最终的程序集。

  3. 运行时执行:CLR进行内存管理、垃圾回收、异常处理、安全检查,并且使用 JIT 编译器将 IL 代码编译成特定于平台的机器码。。

  4. 功能实现:程序在用户的机器上运行,当用户与应用程序交互时,操作系统会调度CPU执行相应的机器码,从而实现程序的功能。


如何查看自己安装的.NET环境的版本?

cmd命令行执行以下命令:

bash 复制代码
dotnet --info

我安装的 .NET SDK 版本是 8.0.303 ,我有9个 .NET 运行时版本,分别是ASP.NET Core Runtime,NET Core Runtime,Windows Desktop Runtime各三个,最新的版本是 8.0.7。


(以上大量数据由AI生成,仅供参考)

相关推荐
2501_901006472 分钟前
CSS如何实现多种颜色的线性渐变_使用linear-gradient()按方向和色标填色
jvm·数据库·python
2303_821287382 分钟前
Golang怎么用embed嵌入SQL文件_Golang如何将SQL迁移文件嵌入Go程序统一管理【技巧】
jvm·数据库·python
略知java的景初2 分钟前
【面试特集】JVM 内存与对象
jvm·面试·职场和发展
小碗羊肉3 分钟前
【JavaWeb | 第十篇】Spring中的事务控制
java·后端·spring
m0_702036533 分钟前
PHP怎么处理Eloquent Attribute Harmonization属性协调_Laravel解决数据冲突【教程】
jvm·数据库·python
SimonKing4 分钟前
美团不做外卖做浏览器了,而且是AI浏览器:Tabbit
java·后端·程序员
AI人工智能+电脑小能手6 分钟前
【大白话说Java面试题 第48题】【JVM篇】第8题:JVM 里的有几种 ClassLoader?为什么会有多种?
java·开发语言·jvm·面试
iAm_Ike6 分钟前
Redis怎样通过频道划分不同的日志级别
jvm·数据库·python
kexnjdcncnxjs7 分钟前
CSS如何利用-nth-of-type(1)修改首个元素样式_通过位置约束精准修饰
jvm·数据库·python
dinglu1030DL8 分钟前
Tailwind CSS如何实现鼠标悬停变色_使用hover-bg-blue-500类.txt
jvm·数据库·python