.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。
免责声明:本文由卡卷网编辑并发布,但不代表本站的观点和立场,只提供分享给大家。
相关推荐

你 发表评论:
欢迎