|
|
1
Dai
6 年前
(
每当发布新的.NET公告时,此答案都会定期更新,并且已使用ASP.NET Core 3.0、.NET 3和.NET 5的详细信息进行更新。)
对于过去3年中.NET CORE/DNX、ASP.NET CORE、.NET Standard、.NET 5和其余内容的混乱程度,Microsoft需要好好拍打一下。
(我要说的是,作为一名德夫丁的前全职员工…
(来自16号楼的Hi!)(子)
-
asp.net
aka“system.web”is now dead.webforms死了(hurrah!)
-
2008年发布的ASP.NET MVC是在ASP.NET的基础上构建的,但绕过了大多数WebForms基础结构。
-
asp.net mvc
has its own versioning separate from
asp.net
and
asp.net web api
(and
asp.net core
)。您链接到了
asp.net mvc 5-
的文档-
这与
asp.net 5不一样。
>em>。
。
-
ASP.NET Web API
Launched in 2012 is a sibling of
ASP.NET MVC
,in that it build on top of
ASP.NET
too,but had its own class library(
system.web.http://code>)that did't share much with
ASP.NET MVC
(
system.web.mvc
)。在同一个项目中,尝试将ASP.NET Web API服务与ASP.NET MVC Web应用程序结合在一起是一个痛苦的练习。
-
-
ASP.NET MVC 5于2014年作为对
ASP.NET MVC 4的更新发布。它与
asp.net 5无关。
-
ASP.NET MVC 6
从未发布过。它被卷进了
asp.net 5,然后变成了
asp.net core。它的目标是将ASP.NET MVC和ASP.NET Web API结合到一个单一平台中。
-
-
ASP.NET core
作为改进的ASP.NET MVC 5设计于2016年推出,但没有依赖项on
system.web.dll
or any(now legacy)IIS依赖项(例如,旧的请求管道,
ihtphandler
and
ihtpmodule
no longer exist)。
-
请注意,
asp.net core
的类库的根命名空间现在是
microsoft.aspnet
and not
system.web
。这对我来说是困惑的根源。这意味着将项目从
asp.net mvc
和
asp.net webapi
升级到asp.net core是非常重要的,尽管它们的控制器和中间件的基本架构是相同的。
-
。
-
.net core
是clr和bcl的新版本,它是显式可移植的,可以在Windows、Linux和MacOS上运行。
-
.net core 1.0
和
与
full fat相比,net core 2.0
的基类库被视为贫血。
.net framework
which is a windows exclusive.
-
-
对于.NET Framework,.NET Core 3.0和.NET Framework的WinForms、WPF和其他组件的开放源代码,.NET Core现在作为.NET Framework在Windows中用于新应用程序开发的替代品准备就绪。
-
。
-
.net 5
将是.net core在
之后的新名称。net core 3
将发布(.net 5预计在2020年后期发布)。
-
.net 5
has
absolutely nothing
to do with
asp.net 5.0
nor
asp.net mvc 5
。
-
没有
.net core 4
或
.net framework 5.0
。
我注意到“core”是Microsoft针对当前一代.NET平台(与.NET core一起工作)的“hot”品牌(即它们没有Windows依赖项,因此是可移植的)。(就像20世纪90年代,如果微软使用COM或ActiveX(如Active Desktop、Active Channels、ActiMate、Active Directory、ActiveX等),他们是如何将“Active”卡在事物上的)。
-
此外,Entity Framework Core
仍然缺少Entity Framework 6的很多功能,这是因为它是重写的,基本上-但它最终将达到奇偶校验。
由于目前有许多.NET运行时和BCL可用(.NET Framework,.NET Core,UWP,Xamarin(使用mono),Unity和其他),Microsoft引入了
.NET Standard->一个特定的实现。
(我只是希望他们从4开始版本编号,以匹配.NET框架,而不是从
1.0开始。
because that got me thinking about
2001
all over again.).
-but the important part是不是
ASP.NET Core 1
和
ASP.NET Core 2
Target.NET Standard而不是.NET Core-这意味着ASP.NET Core在Windows上的.NET Framework顶部运行,除了在.NET Core的顶部运行之外。
I note that all previous.NET cross platform compatibility techniques now be obsoluted(including targeting compact framework subset,portable class libraries,and even“shared projects”in Visual Studio),as they were means for other edition of.NET which now exist,such as.NET Compact framework,XNA,Silverlight and Windows PhoNE 7的子集
2019年5月,微软宣布推出.NET 5“
简而言之,
.net framework
被替换为
.net core
(具体来说,.net core 3.0之后的下一个版本.net core将被命名为
.net 5
)。除了.NET 5将完全支持在其上运行的应用程序之外,此公告根本不涉及
asp.net core
(asp.net core 4 will may be released by then anythy)
。
总之:
-
ASP.NET MVC 5
是
ASP.NET MVC 4的短期继承者,与
ASP.NET Web API 2一起发布。它实际上运行在
asp.net 4的顶部(即
system.web.dll的.net 4.x版本)。平台现在已过时。
asp.net mvc
is now obsolete.
-
-
ASP.NET 5
was eol'd and rebranded as
ASP.NET core
and it includes the functionality of“ASP.NET MVC 5”built-in.
-
-
asp.net core 1
and
asp.net core 2
can run on either.net core(cross platform)or.net framework(windows),because it targets.net standard.
-
-
ASP.NET CORE 3
现在仅在
上运行。NET CORE 3.0
。
全部(按时间顺序排列):。
时间线和方框图
(我做这个……时神魂颠倒)
3年以上.NET核心/DNX,ASP.NET核心,.NET标准,.NET 5及其他。
(我要说的是,作为一名德夫丁的前全职员工…
(16号楼你好!)
)
-
ASP.NET
又名“system.web”现在死了。webforms死了(hurrah!)
-
ASP.NET MVC
2008年发布的是在ASP.NET之上构建的,但绕过了大部分WebForms基础结构。
-
ASP.NET MVC
有自己的版本控制
ASP.NET
和
水果刀
(和)
ASP.NET核心
)你链接到
ASP.NET MVC 5
的文档-
这和
ASP.NET 5
.
-
水果刀
2012年推出的是
ASP.NET MVC
因为它建立在
ASP.NET
也是,但有自己的类库(
System.Web.Http
)那没什么共同点
ASP.NET MVC
(
System.Web.Mvc
)在同一个项目中,尝试将ASP.NET Web API服务与ASP.NET MVC Web应用程序结合在一起是一个痛苦的练习。
-
ASP.NET MVC 5
于2014年作为对
ASP.NET MVC 4
. 它与
ASP.NET 5
.
-
ASP.NET MVC 6
从未被释放。它被卷进
ASP.NET 5
然后变成了
ASP.NET核心
. 它的目标是将ASP.NET MVC和ASP.NET Web API合并到单个平台中。
-
ASP.NET核心
作为改进的ASP.NET MVC 5设计于2016年推出,但不依赖于
System.Web.dll
或任何(现在是旧的)IIS依赖项(例如,旧的请求管道,
IHttpHandler
和
IHttpModule
不再存在)。
-
注意
ASP.NET核心
的类库的根命名空间现在为
Microsoft.AspNet
而不是
System.Web
. 这对我来说是困惑的根源。这意味着从
ASP.NET MVC
和
ASP.NET Web API
对于ASP.NET来说,核心是非常重要的,尽管它们的控制器和中间件的基本架构是相同的。
-
.NET核心
是clr和bcl的新版本,它是显式可移植的,可以在Windows、Linux和MacOS上运行。
-
.NET核心1.0
和
.NET核心2.0
与
全脂
.NET框架
这是Windows独有的。
-
用
.NET核心3.0
而.NET框架的winforms、wpf和其他组件的开放源代码,.NET核心现在已经准备好在Windows中替代.NET框架进行新的应用程序开发。
-
.NET 5
之后将是.NET核心的新名称
.NET核心3
即将发布(预计2020年底将发布.NET 5)。
-
.NET 5
有
绝对没有
与…有关
ASP.NET 5.0版
也不
ASP.NET MVC 5
.
-
没有
.NET核心4
也不
.NET框架5.0
.
我注意到“核心”是微软的
热的
为当前一代使用.NET核心的.NET平台建立品牌(即它们没有Windows依赖项,因此是可移植的)。(就像20世纪90年代,如果微软使用COM或ActiveX(如Active Desktop、Active Channels、ActiMate、Active Directory、ActiveX等),他们是如何将“Active”卡在事物上的)。
-
另外
实体框架核心
仍然缺乏实体框架6的很多功能,这是因为它基本上是重写的,但最终会达到对等。
因为目前有许多.NET运行时和BCL可用(.NET框架,.NET核心,UWP,Xamarin(使用mono),Unity和其他),微软介绍了
.NET标准
这基本上是对可移植类库概念的重新启动:在这个概念中,Visual Studio项目的目标是公共功能的已知子集,而不是特定的实现。
(我只希望他们从4开始版本编号以匹配.NET框架,而不是从
1.0
因为这让我想到
2001
又来了。)
-但重要的是
ASP.NET核心1
和
ASP.NET核心2
目标.NET标准而不是.NET核心-这意味着除了在.NET核心上运行之外,ASP.NET核心在Windows上的.NET框架之上运行。
我注意到,所有以前的.NET跨平台兼容性技术现在都已经过时了(包括针对Compact Framework子集、可移植类库,甚至是Visual Studio中的“共享项目”),因为它们适用于不再存在的.NET的其他版本,如.NET Compact Framework、XNA、Silverlight和Windows Phone 7乌布塞特
2019年5月,
Microsoft announced ".NET 5"
. 简而言之,
.NET框架
正在被替换为
.NET核心
(具体来说,.NET核心3.0之后的下一个.NET核心版本将被命名为
.NET 5
)本公告不涉及
ASP.NET核心
除了.NET 5将完全支持
ASP.NET核心3.0
在上面运行的应用程序。
(ASP.NET Core 4可能在那时发布)
总之:
-
ASP.NET MVC 5
是一个短暂的继承者
ASP.NET MVC 4
,同时发布
ASP.NET Web API 2
. 它实际上是在
ASP.NET 4
(即.NET 4.x版本
system.web.dll(系统.web.dll)
)平台
ASP.NET MVC
现在已过时。
-
ASP.NET 5
是EOL'D和重新命名为
ASP.NET核心
它还包括“ASP.NET MVC 5”内置的功能。
-
ASP.NET核心1
和
ASP.NET核心2
可以在.NET核心(跨平台)或.NET框架(Windows)上运行,因为它以.NET标准为目标。
-
ASP.NET核心3
现在只运行
.NET核心3.0
.
全部(按时间顺序):
-
ASP.NET 1
-2001年。包括
Web窗体
. 在.NET Framework 1.0和1.1上运行。
system.web.dll(系统.web.dll)
.
-
ASP.NET 2.0版
-2005年。包括
Web窗体
. 在.NET Framework 2.0上运行。
system.web.dll(系统.web.dll)
.
-
ASP.NET MVC 1
和
ASP.NET MVC 2
-2008-2009年。在ASP.NET 2.0上运行。
System.Web.Mvc.dll
.
-
ASP.NET 4.0版
-2010年。包括
Web窗体
. 在.NET Framework 4.0上运行。没有
ASP.NET 3.0版
.
system.web.dll(系统.web.dll)
.
-
ASP.NET MVC 3
和
ASP.NET MVC 4
-2010-2013年。在ASP.NET 4.0上运行。
system.web.mvc.dll文件
.
-
ASP.NET Web API 1
-2012年。在…之上跑
ASP.NET 4.0版
.
System.Web.Http.dll
.
-
ASP.NET MVC 5
-2013年。只是另一个更新
ASP.NET MVC
. 在…之上跑
ASP.NET 4.0版
但也可以独立运行
system.web.dll(系统.web.dll)
在奥文下面。
-
ASP.NET Web API 2
-2013年。兄弟姐妹到
ASP.NET MVC 5
. 也可以在没有
ASP.NET 4.0版
在奥文下面。
-
ASP.NET MVC 6
-2014-2015年。达到释放候选状态后中止,重新启动为
ASP.NET核心MVC 1.0
2016年,它是
ASP.NET核心1
.
-
ASP.NET 5
-2014年。ASP.NET的主要重新启动
described here
. 主要变化包括合并MVC、网页和Web API以及删除
Web窗体
. ASP.NET 5已达到发布候选状态,但随后被重新命名为
ASP.NET核心
. 从来没有过
ASP.NET 6
.
-
ASP.NET核心1
-2016年。在任何一个上运行
.NET框架4.5
或
.NET核心1.0
.
-
.NET核心
-2016年。可移植且最小的.NET运行时和类库。
-
.NET标准
-2017年。程序针对所有.NET实现(NET Framework 4.5及更高版本,.NET Core 2.0及更高版本,Xamarin等)中出现的一组通用功能的方法。
-
ASP.NET核心2
-2017-2018:我们今天的处境。在任何一个上运行
.NET框架4.6.1
或
.NET核心2.0
. (截至2018年底,现在有ASP.NET核心2.1)。
-
ASP.NET核心3
-
In late October 2018 Microsoft announced ASP.NET Core 3.0 will now only run on the upcoming .NET Core 3.0
(因此它将不再在.NET Framework 4.7.x上运行)。这是一个有争议的举措,因为这意味着对于在.NET Framework 4.7.x上运行的应用程序,现在没有从ASP.NET Core 2.x升级到ASP.NET Core 3.x的路径,因为依赖项尚不支持.NET Core,这意味着可能没有.NET标准3.0。
-
.NET 5上的ASP.NET Core 3.0
-在2019年5月宣布
.NET 5
微软表示,ASP.NET核心3.0应用程序将在.NET 5上运行。目前尚不清楚ASP.NET Core 2.x应用程序是否能够在.NET 5上无修改地运行。
时间线和方框图
(我做这件事太激动了…)
-
ASP.NET 1
-2001.包括
webforms->strong>。在.NET Framework 1.0和1.1上运行。
system.web.dll
。
-
ASP.NET 2.0
-2005.包括
webforms->strong>。在.NET Framework 2.0上运行。
system.web.dll
。
-
ASP.NET MVC 1
and
ASP.NET MVC 2
-2008-2009.在ASP.NET 2.0上运行。
system.web.mvc.dll
。
-
ASP.NET 4.0
-2010.包括
webforms->strong>。在.NET Framework 4.0上运行。不存在
ASP.NET 3.0
。
system.web.dll
。
-
ASP.NET MVC 3
and
ASP.NET MVC 4
-2010-2013.在ASP.NET 4.0上运行。
system.web.mvc.dll
。
-
asp.net web api 1
-2012.在
ASP.NET 4.0的基础上运行。
system.web.http.dll
。
-
asp.net mvc 5
-2013.只是对
asp.net mvc的另一个更新。运行在
asp.net 4.0之上,但也可以在没有
system.web.dll的情况下独立运行。
-
-
asp.net web api 2
-2013.Sibling to
ASP.NET MVC 5
。也可以在不使用
asp.net 4.0的情况下运行。
under owin.
-
-
ASP.NET MVC 6.
-2014-2015.在达到发布候选状态后中止,并在2016年以
ASP.NET Core MVC 1.0的身份重新启动,这是
ASP.NET Core 1的MVC和Web API组件。
-
ASP.NET 5
-2014.ASP.NET的主要重新启动
此处介绍。主要变化包括合并MVC、网页和Web API-以及删除
WebForms。ASP.NET 5已达到发布候选状态,但随后被重新命名为“ASP.NET核心”。从未有过一个
asp.net 6
。
-
asp.net core 1
-2016.运行于
.net framework 4.5或
net core 1.0上。
-
.net core
-2016.可移植且最小的.NET运行时和类库。
-
-
.net standard
-2017.程序针对所有.NET实现(NET Framework 4.5及更高版本,.NET Core 2.0及更高版本,Xamarin等)中出现的公共功能集的一种方法。
-
asp.net core 2
-2017-2018:where we are today.运行于
.net framework 4.6.1或
.net core 2.0上。(截至2018年底,现在有了ASP.NET核心2.1)。
-
asp.net core 3
-
2018年10月底,Microsoft宣布ASP.NET core 3.0将仅在即将到来的.NET core 3.0上运行(因此它将不再在.NET Framework 4.7.x上运行)。这是一个有争议的举措,因为这意味着现在没有从ASP.NET Core 2.x到ASP.NET Core 3.x的升级路径用于在.NET Framework 4.7.x上运行的应用程序,因为依赖项尚不支持.NET Core,这意味着可能不会有.NET Standard 3.0.
-
-
.NET 5上的ASP.NET Core 3.0在2019年5月发布的公告中,Microsoft声明ASP.NET Core 3.0应用程序将在.NET 5上运行。目前尚不清楚ASP.NET Core 2.x应用程序是否能够在.NET 5上运行未修改的程序。
-
|