随着 netcore的出现及流行,概念东西越搞越多,混乱不堪,由此一篇来理一理
先上一张图,此图经常见到 总体的脉络结构大致都是这样,自下而上,越往下越是基础层,其中.net standard library定义了一些列的标准函数接口,由不同框架去实现。 也就是 net framework ,net core,xmarin都实现了该标准里的接口。
可以看到 asp.net ,wpf,windows forms 基于 net framework,asp.net core等基于net core等 由此我们知道net framework , net core ,xamarin 其实是一些框架 实现了net standard 标准 ,asp.net 就是构建windows上网站的框架 ,asp.net core 就是跨平台的网站框架。
那么这张图有歧义吗?
上面两张图,懵了吧,asp.net core可以基于 net framework
ASP.NET和ASP.NET Core 概念背景介绍
ASP.NET是由微软在.NET Framework框架中所提供,开发Web应用程序的类别库,ASP.NET可以运行在安装了.NET Framework的IIS服务器上,若要在非微软的平台上运行,则需要使用Mono平台,很多人都把 ASP.NET 当做是一种编程语言,但它实际上只是一个由 .NET Framework 提供的一种开发平台 (development platform),并非编程语言。也可认为ASP.NET是.NET组件,任何.NET语言,例如C#,可以引用该组件,创建网页或Web服务。
为了因应云端化所诱发的多作业平台集成与开发能力,微软特别开发一个新一代的 ASP.NET,称为 ASP.NET vNext,并于 2014 年命名为 ASP.NET 5,但随后于 2016 年将它更名为 ASP.NET Core,由于架构上的差异颇大,因此未来 ASP.NET 与 ASP.NET Core 将是分别发展与维护,Windows 平台的 ASP.NET 4.6 以上版本仍维持 Windows Only,但 ASP.NET Core 则是具有跨平台 (Windows, Mac OSX 与 Linux) 的能力。
ASP.NET Core 是新一代的 ASP.NET,早期称为 ASP.NET vNext,并且在推出初期命名为 ASP.NET 5,但随着 .NET Core 的成熟,以及 ASP.NET 5 的命名会使得外界将它视为 ASP.NET 的升级版,但它其实是新一代从头开始打造的 ASP.NET 核心功能,因此微软宣布将它改为与 .NET Core 同步的名称[1],即 ASP.NET Core。
ASP.NET Core 可运行于 Windows 平台以及非 Windows 平台,如 Mac OSX 以及 Ubuntu Linux 操作系统,是 Microsoft 第一个具有跨平台能力的 Web 开发框架。 (注意,当你选择.net framework 作为框架依赖,那么就无法跨平台了,当然如果是mono那当然是可以的吧)
注意asp.net core 从 3.0开始 不再支持 .net framework 只依赖net core ,net core 3.0实现了 net standrd 2.1 ,与此同时任何版本的net framework 不支持net standrd 2.1,意图很明确,大方向以后就是net core的趋势,微软定调了
来源:https://blog.csdn.net/smart_one/article/details/103448235 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |