这是向前迈出的一大步,这使得在 WEB 站点的服务器端使用 NET Framework 的功能成为可能。这里的“能力”是指语言的能力(C#、VB.NET,我认为是 F#——它们都被编译成使用 NET 运行时执行的中间字节码)。但是,由于 NET Framework(版本 1、2、3、3.5、4、4.5、4.51、4.52、4.6、4.7 和 4.8)仅适用于 Windows,因此被钉在 IIS 和 Microsoft Server 上,这当然导致所有留着胡子的 Linux 管理员都露出讽刺的笑容。
与此同时,ASP.NET MVC 出现了,这意味着在 ASP.NET 中使用了 Model-View-Controller 模式。实际上,建议将代码划分为与模型、视图或控制器相关的实体,而不是随机分组代码。
为了成为跨平台,.NET Core 应运而生。它在 Windows 和 Linux 上的工作方式相同。这是一个庞大的框架,规模堪比 Java 世界的 Spring。它的 WEB 部分称为 ASP.NET Core。它能够使用 MVC 模式,这就是 ASP.NET Core MVC 可能的意思。
由于连续写很多缩写很无聊,所以名称开始减少,例如从 ASP.NET Core MVC 到 .NET Core MVC,以及笼统的 - 谁在什么。
事实上,.NET Core 有:
.NET Core 是整个框架。
ASP.NET Core 是为 WEB 量身定制的框架的一部分。
ASP.NET Core MVC - 框架的一部分,针对 WEB 进行了锐化,其中应用了 MVC 模式
所以,回归问题,对比的时候,需要使用如下方案:
技术名称中是否有 ASP 或 ASP.NET?如果是,那么这项技术与WEB有关。如果只是“ASP”——很可能,.NET 只是“忘记添加”,因为 ASP 技术非常古老,已不再使用。
| Название технологии | WEB или общего назначения? | Кроссплатформенная? |
| | | |
| ASP.NET Core | WEB | да |
| | | |
| .NET Core | общего назначения | да |
| | | |
| ASP.NET? | WEB | нет, только Windows |
在这个问题中,困难在于以上必须通过多个参数进行比较。
您的问题是指这些是属于同一“技术类别”的事物,因此可以很容易地进行比较。
要理解这一点,我们必须回顾过去。
首先是 ASP。这是一个“来自微软的略微调整的 php-shechka”,课程中混合了 html 和代码,但已经有强大的类型和连接 COM 组件的能力。
这为构建服务器端的活动内容站点开辟了很大的空间,因为此时的 JS 还处于起步阶段,仅适用于 12 月至 3 月之间在首页上绘制雪花。
然后,由于 ASP 缩写已经为观众所熟知(而微软通常喜欢三字母缩写),ASP.NET 出现了
这是向前迈出的一大步,这使得在 WEB 站点的服务器端使用 NET Framework 的功能成为可能。这里的“能力”是指语言的能力(C#、VB.NET,我认为是 F#——它们都被编译成使用 NET 运行时执行的中间字节码)。但是,由于 NET Framework(版本 1、2、3、3.5、4、4.5、4.51、4.52、4.6、4.7 和 4.8)仅适用于 Windows,因此被钉在 IIS 和 Microsoft Server 上,这当然导致所有留着胡子的 Linux 管理员都露出讽刺的笑容。
与此同时,ASP.NET MVC 出现了,这意味着在 ASP.NET 中使用了 Model-View-Controller 模式。实际上,建议将代码划分为与模型、视图或控制器相关的实体,而不是随机分组代码。
为了成为跨平台,.NET Core 应运而生。它在 Windows 和 Linux 上的工作方式相同。这是一个庞大的框架,规模堪比 Java 世界的 Spring。它的 WEB 部分称为 ASP.NET Core。它能够使用 MVC 模式,这就是 ASP.NET Core MVC 可能的意思。
由于连续写很多缩写很无聊,所以名称开始减少,例如从 ASP.NET Core MVC 到 .NET Core MVC,以及笼统的 - 谁在什么。
事实上,.NET Core 有:
.NET Core 是整个框架。
ASP.NET Core 是为 WEB 量身定制的框架的一部分。
ASP.NET Core MVC - 框架的一部分,针对 WEB 进行了锐化,其中应用了 MVC 模式
所以,回归问题,对比的时候,需要使用如下方案:
技术名称中是否有 ASP 或 ASP.NET?如果是,那么这项技术与WEB有关。如果只是“ASP”——很可能,.NET 只是“忘记添加”,因为 ASP 技术非常古老,已不再使用。
技术名称中有Core吗?如果是这样,那么该技术是跨平台的并且基于 .NET Core 框架。如果技术名称中有Framework或者只是缺少Core这个词,很可能是指NET Framefork框架,它只能在Windows下工作
以技术的名义有 MVC 吗?如果是,则应用模型-视图-控制器上的分离模式,如果不是,它们以某种方式在没有它的情况下进行管理。或者他们减少了部分缩写,相信每个人都会猜到。
因此,您当前问题的答案(在编辑问题之前,您还提到了 MVC 模式的使用)是:
所以变得更清楚了?
简而言之,有两个平台:
.NET 框架。仅在 Windows 下,版本从 1 到 4.8。最后一次发布于 2019 年 4 月 18 日,没有进一步的开发。优点 - 直到最近,它只能在其上为 Windows 编写桌面应用程序。
.NET Core - 跨平台 (Windows/Mac/Linux),版本 1-3、5、6。积极开发,当前版本为 5,几乎是 6。版本编号中省略了 4,以免与并发混淆.NET 框架的版本。从第 3 版开始,它还支持 Windows 桌面应用程序。
根据 MS的说法,从版本 5 开始的 .NET Core 是一个单一平台,只是重命名为 .NET 5,其他所有内容(包括 .NET Framework 4.8)都是遗留的。
因此,如果您决定学习 .NET - 请使用 .NET 5。
与 ASP.NET 相同的故事:
在 ASP.NET Core 5.0 的名称中,留下了 Core 这个词,因为。.NET Framework 下的 ASP.NET MVC(非核心)的最新版本是第 5 版 - 想要避免更多的混乱。
因此,当前的 Web 堆栈是 .NET 5 + ASP.NET Core 5