.net基础概念

1. .NET Framework

.NET Framework开发平台包含公共语言运行库(CLR)和基类库(BCL),前者负载管理代码的执行,后者提供了丰富的类库来构建应用程序。.NET Framework仅支持Windows平台

2. Mono

由于.NET Framework支支持windows环境,因此社区开发了Mono,是可以跨平台运行的,但是其远远落后于.NETFramework的官方实现

3. .NET Core

微软官方提供的跨平台运行平台。包括名为CoreCLR的CLR跨平台实现和CoreFX的流畅的BCL。.NETCore的运行速度快。

.NETCore已经重命名为.NET,为了和.NET Framework区分,主版本号跳过了数字4,以免和.NET Framework 4.X混淆。其版本可以是长期支持的(LTS),也可以是当前的(Current)

3.1 .NET Runtime 和.NET SDK

.NET Runtime 版本控制遵循语义版本控制,也就是说,主版本表示非常大的更改,次版本表示更新,而补丁版本表示bug修复。.NET Runtime更新与主版本(如 6.x版)兼容。

.NET SDK 版本控制不遵循语义版本控制。主版本号和次版本号与匹配的运行时版本绑定。.NET SDK更新版本保留了构建适用于旧版运行时的应用程序的能力,可以使用以下命令更新版本:

bash 复制代码
  dotnet-core-unistalll remove -all-previews-but-latest --sdk

4. 运行过程

dotnet CLI工具使用的C#编译器(名为Roslyn) 会将C#的源码转换成中间语言(IL)代码,并将IL存储再程序集(DLL或EXE)中。IL代码语句就像汇编的指令,由.NET的虚拟机CoreCLR执行。CoreCLR运行时,先从程序集中加载IL代码,再由JIT编译器将IL代码编译成本机CPU指令,最后由机器上的CPU执行。

相关推荐
唐青枫3 小时前
别只会解析参数:C#.NET Spectre.Console.Cli 命令行工具实战详解
c#·.net
rockey6271 天前
基于AScript的Lua脚本语言发布啦
c#·.net·lua·script·动态脚本
半亩码田1 天前
【.NET新特性·第11篇】C# 14 字段属性:告别手写 backing field
java·c#·.net
唐青枫1 天前
别再把命令行参数写成一团:C#.NET System.CommandLine 实战详解
c#·.net
hez20101 天前
让 .NET 11 的泛型虚方法变得更快!
c#·.net·.net core·clr·compiler
宝桥南山1 天前
Microsoft Agent Framework(.NET) - 尝试一下从MCP Server上获取Agent Skills
ai·微软·c#·aigc·.net·.netcore
海盗12341 天前
微软技术日报·2026-08-12——Windows 11多通道累积更新推送十余项功能改进;.NET WebSocket DoS紧急修复
windows·microsoft·.net
唐青枫2 天前
别再手写 args[0]:C#.NET CommandLineParser 命令行工具实战详解
c#·.net
.Peter2 天前
.NET/WPF 程序在部分 Windows 电脑无法保存用户环境变量:使用 DPAPI 实现安全兼容
windows·信息安全·c#·.net·wpf·环境变量·dpapi
MyBili3 天前
游戏报错缺少dll、无法启动?GRLPackage 运行库合集一键修复指南
游戏·.net·directx·运行库·xna·openal·vc++ redis