你不得不知道的 .NET CORE —— .NET Framework, .NET Core 和 .NET Standard 的区别

.NETStandard作为.NET底层库,使得代码能在.NETFramework和.NETCore等平台应用框架上通用。若库需在多平台使用,应采用.NETStandard编写。在解决方案中,入口项目可选.NETFramework或.NETCore,其余工程推荐使用.NETStandard。

一张图即可明白其中奥秘

.NET Standard 体系

.NET Framework 和 .NET Core 是平台应用框架,而 .NET Standard 是 .NET 底层库。因此只要用 .NET Standard 工程来写的代码可以直接在上层的平台应用框架上使用。

你的库需要在多平台应用上使用,就使用 .NET Standard 来写。

经验与技巧

在你的解决方案中,可以将入口项目选择为 .NET Framework 或 .NET Core,其他的工程尽量使用 .NET Standard 来创建。

比如,在 .NET Core 项目中,你可以将你的 Program 启动类所在的项目,使用 .NET Core 创建,而其他的工程,包括你的 MVC 工程,都可以使用 .NET Standard 来创建。因为 Microsoft.AspNetCore.Mvc 是用 .NET Standard 工程来写的。

在Unity中,.NET Standard 2.1.NET Framework存在多方面的区别: ### 兼容性 - **.NET Standard 2.1**:是一种规范,定义了一组通用的API,旨在实现不同.NET实现之间的兼容性。许多现代.NET实现,如.NET Core 3.0以及即将推出的Xamarin、MonoUnity版本将更新以实现.NET Standard 2.1,具有更广泛的跨平台支持能力,能在多种操作系统设备上运行[^1]。 - **.NET Framework**:主要运行在Windows操作系统上,是Windows 10通用Windows平台(UWP)的核心。由于其依赖于Windows特定的底层组件,在跨平台方面存在较大限制。鉴于.NET Standard 2.1中的许多API添加需要修改运行时才能有意义,.NET Framework 4.8将保留在.NET Standard 2.0上,而不是实现.NET Standard 2.1 [^1][^2]。 ### API集 - **.NET Standard 2.1**:相比旧版本增加了大量新的API,有助于开发者编写功能更强大、性能更高的代码。例如在Unity中开发HoloLens混合现实应用时,能在缓冲区级别处理3D变换,提升应用的响应能力 [^3]。 - **.NET Framework**:拥有自己特定的API集合,随着时间发展,其API更新速度相对较慢,且由于历史原因,部分API设计可能不够现代化。 ### 发展趋势 - **.NET Standard 2.1**:是微软为了平衡.NET Core的发展水平,同时满足生态系统其余部分需求而推出的。其新的治理模型使其他.NET实现更容易更快地拾取新代码并构建更新、性能更高的代码,代表着未来.NET技术发展的方向 [^3]。 - **.NET Framework**:虽然在Windows平台上有广泛的应用基础,但随着微软对.NET Core等新技术的大力推广,.NET Framework的更新维护力度相对减弱。 ### 代码示例 以下是一个简单的C#代码示例,展示基本的功能: ```csharp using System; class Program { static void Main() { Console.WriteLine("Hello, World!"); } } ``` 这个示例在.NET Standard 2.1.NET Framework中都能正常编译运行,但由于两者的差异,在涉及到特定功能时,代码可能会有所不同。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

叫我 Teacher 周

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

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

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

打赏作者

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

抵扣说明:

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

余额充值