卡卷网
当前位置:卡卷网 / 每日看点 / 正文

.NETStandard和.NETCore区别?

作者:卡卷网发布时间:2025-01-10 19:29浏览数量:96次评论数量:0次

最开始.NETFramework只支持Windows,而mono是一个社区的跨平台实现,后来出了个.NETCore跨平台了,但是由于.NETCore和mono、.NETFramework是不同的,虽然mono能跑大部分的.NETFramework程序集,但是.NETCore不行;而mono也不能跑.NETCore的程序集,.NETCore也不能跑mono和.NETFramework的程序集。

由于.NET对库函数的引用类似动态链接库,程序集内并不包含库函数的实现,只包含库函数的签名,然后运行的时候才去加载对应的有实现的程序集完成“链接”过程最后调用,于是.NETStandard就应运而生了。

.NETStandard参考三个实现的情况,划定了一组API的子集,这组API在.NETFramework、mono和.NETCore上都有实现,然后使.NETFramework、mono和.NETCore都能加载.NETStandard程序集,这样当用户调用.NETStandard里的API的时候,会把调用转发到当前运行时的基础库的实现上。

这样一来,只要用户的代码基于.NETStandard编写,就能同时在.NETFramework、mono、.NETCore上跑了。

而如果要使用各自平有的API的话,则不能基于.NETStandard来编写代码,而需要基于.NETFramework、.NETCore或者mono来编写代码。

后来到了.NETStandard2.1的时候,由于.NETFramework掉了队,不再新增新的功能,于是.NETStandard2.1干脆不支持.NETFramework了,只支持mono和.NETCore。

再后来mono和.NETCore完成了基础库的一,变成了新的.NET,于是.NETStandard的使命也结束了,只剩下一个一的.NET。

END

免责声明:本文由卡卷网编辑并发布,但不代表本站的观点和立场,只提供分享给大家。

卡卷网

卡卷网 主页 联系他吧

请记住:卡卷网 Www.Kajuan.Net

欢迎 发表评论:

请填写验证码