第一章 (ASP.NET Core入门)第三节( 认识.NET Standard)

第三节( 认识.NET Standard)

引言:.NET Standard的诞生背景

.NET Standard的诞生源于.NET生态系统中不同实现(如.NET Framework、.NET Core、Xamarin等)之间的兼容性问题。具体背景包括:

  1. 跨平台需求‌:随着.NET Core的推出,微软希望在Windows、Linux、macOS等平台上实现跨平台开发,但不同实现的API不一致导致代码共享困难。
  2. 统一API规范‌:为解决API不兼容问题,微软提出.NET Standard,作为一套正式的API规范,确保不同.NET实现(如.NET Core、.NET Framework、Xamarin)能共享类库。

1.什么是.NET Standard

.NET Standard是针对多个.NET实现推出的一套正式的.NET API规范,这里需要注意的是,.NET Standard只是一套规范,而不是一个框架,它本身只是规定了需要被实现的规范,并不负责具体的实现。其核心特点包括:

  • 规范而非实现‌:仅定义API接口,不包含具体实现,需由.NET实现(如.NET Core、.NET Framework)提供支持。
  • 版本管理‌:通过版本号(如1.0、2.0、2.1等)逐步增加API,新版本兼容旧版本。

2.NET Standard的版本

.NET 实现

.NET Standard版本

1.0

1.1

1.2

1.3

1.4

1.5

1.6

2.0

2.1

.NET Core

1.0

1.0

1.0

1.0

1.0

1.0

1.0

2.0

3.0

.NET Framework

4.5

4.5

4.5.1

4.6

4.6.1

4.6.1

4.6.1

4.6.1

不支持

Xamarin.iOS

10.0

10.0

10.0

10.0

10.0

10.0

10.0

10.14

12.16

Xamarin.Mac

3.0

3.0

3.0

3.0

3.0

3.0

3.0

3.8

5.16

Xamarin.Android

7.0

7.0

7.0

7.0

7.0

7.0

7.0

8.0

10.0

Mono

4.6

4.6

4.6

4.6

4.6

4.6

4.6

5.4

6.4

.NET Standard版本通过版本控制管理API兼容性,主要版本如下:

版本主要特性支持范围
1.0-2.0基础API集广泛支持(如.NET Core 1.0-3.1、.NET Framework 4.6.1+、Xamarin等)
2.1-3.1增加高级API(如异步编程、LINQ)支持范围缩小(如.NET Core 2.1+、.NET Framework 4.7.2+)
5.0+不再发布新版本,但.NET 5+支持.NET Standard 2.1及更早版本

3.如何选择.NET Standard版本

因为.NET Standard只是一套规范,所以我们只能创建.NET Standard类库项目,而不能创建.NET Standard控制台项目等其它项目。

创建.NET Standard类库项目时,需要遵循以下原则:

  • 使用.NET Standard 2.0在.NET Framework和.NET的所有其他实现之间共享代码;
  • 使用.NET Standard 2.1在Mono、Xamarin和.NET Core 3.x之间共享代码;
  • 如果需要使用库将应用程序分解为多个组件,建议以.NET 5.0或更高版本为目标.

选择.NET Standard版本需考虑以下因素:

  1. API需求‌:选择支持所需API的最低版本(如需异步编程,选择2.1+)。
  2. 兼容性‌:优先选择广泛支持的版本(如1.0-2.0)。
  3. 目标平台‌:确保目标.NET实现支持该版本(如.NET Framework需4.6.1+)。
  4. 未来扩展‌:若需使用新API,可选择更高版本(但限制兼容性)。

示例:

  • 跨平台通用‌:选择1.0-2.0(如.NET Core 1.0-3.1、.NET Framework 4.6.1+)。
  • 高级功能‌:选择2.1+(如异步编程、LINQ)。

关键提示‌:.NET 5+已转向模块化API集(如System.RuntimeSystem.Linq),不再依赖.NET Standard。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Technical genius

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值