问题源于这么一本书:
《ASP.NET 4 解密(卷1)》,这本书大约是六七年前买的了,根据其名字,它讲述的是ASP.NET 4,那么ASP.NET现在究竟是什么版本?与.NET Framework版本的关系是什么?与.NET Core,ASP.NET Core又有什么关系?我整理了这么一张表,可能其中有些瑕疵,但总体八九不离十。
时间 |
Visual Studio |
.NET Framework |
ASP.NET |
ASP.NET MVC |
.NET Core |
ASP.NET Core |
2002 |
Visual Studio.NET |
1.0 |
1.0 |
|
|
|
2003 |
Visual Studio.NET 2003 |
1.1 |
1.1 |
|
|
|
2005 |
Visual Studio 2005 |
2.0 |
2.0 |
|
|
|
2006 |
|
3.0 |
3.0 |
|
|
|
2008 |
Visual Studio 2008 |
3.5 |
3.5 |
|
|
|
2009 |
|
|
|
1.0 |
|
|
2010 |
Visual Studio 2010 |
4.0 |
4.0 |
2.0 |
|
|
2011 |
|
|
|
3.0 |
|
|
2012 |
Visual Studio 2012 |
4.5 |
4.5 |
4.0 |
|
|
2013 |
Visual Studio 2013 |
4.5.1 |
4.5.1 |
5.0 |
|
|
2014 |
|
4.5.2 |
4.5.2 |
5.2 |
|
ASP.NET 5 |
2015 |
Visual Studio 2015 |
4.6 |
4.6 |
5.2.3 |
|
|
2016 |
|
|
|
|
1.0 |
更名并发布1.0 |
2017 |
Visual Studio 2017 |
4.7 |
|
|
2.0 |
2.0 |
- ASP.NET是与.NET Framework一起发布的,它属于.NET Framework的一部分,它的实现是封装在System.Web.dll中的,所以可以认为.NET Framework的版本就是ASP.NET的版本
- 但到了ASP.NET 4.6之后,微软计划的下一代ASP.NET是要具备“跨平台”特性的,也就是说,它并不再依赖于.NET Framework,这个项目代号为“ASP.NET vNext”的产品后来一度被称作ASP.NET 5,直到2016年才被正式更名为ASP.NET Core并发布1.0版,所以ASP.NET Core并不是ASP.NET的继任者,它架构与ASP.NET相差较大,并且不依赖于System.Web.dll
- ASP.NET Core基于.NET Core,它是跨平台的
- .NET Core和ASP.NET Core都是开源的(使用MIT License),而.NET Framework和ASP.NET并不开源
- ASP.NET MVC是微软官方提供给ASP.NET的额外的MVC框架,可以独立通过nuget获取,其最新版是5.2.4(截止2008年3月8日,就是我写下这段文字的时候),由于使用广泛,不少人将其与ASP.NET搞混,其实从时间上来看,ASP.NET MVC出现较晚,直到2011年的3.0版本出来,推出了Razor渲染引擎才算比较成熟,另外ASP.NET MVC是开源的
- 另外有一个叫ASP.NET Web API的框架,与ASP.NET MVC框架类似,可以独立通过nuget获取,开发模式与ASP.NET MVC类似,区别在于侧重点,Web API注重数据交换而不是页面渲染
- ASP.NET Core中直接包含了MVC及Web API的功能(其实准确的说,应该是你可以自由选择其中的各个组件,可谓丰俭由人)
好了,那接下来的问题是:我改选择什么?
答案显而易见,肯定是最新的ASP.NET Core 2.0了,(事实上,到我写下这段文字时,它最新版是2.0.4)当然了,前提是你有得选的话,至于.NET好在哪,C#好在哪这种问题,请自行知乎。
|
请发表评论