ASP.NET的版本?
问题源于这么一本书:

《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#好在哪这种问题,请自行知乎。
ASP.NET的版本?的更多相关文章
- 【转载】保哥 釐清 CLR、.NET、C#、Visual Studio、ASP.NET 各版本之間的關係
我常常不仅仅逛 博客园,还会去找国外,特别是台湾的技术部落格,发现好的文章,我便会收录,今天我转载或者全文复制,在Google 博客园,一位叫保哥, 釐清 CLR..NET.C#.Visual Stu ...
- CLR/.NET/C#/Visual Studio/ASP.NET各版本之间的关系(转)
由于这篇文章记录的是2015年7月,那时.net core还是叫做.net core 5 名词定义 下列这些名词,写.NET 的人一定都不陌生,但你是否有真正理解呢?如果看了我的摘要文字说明还无法理解 ...
- Asp.NetCore1.1版本没了project.json,这样来生成跨平台包
本章将要和大家分享的是Asp.NetCore1.1版本去掉了project.json后如何打包生成跨平台包, 为了更好跟进AspNetCore的发展,把之前用来做netcore开发的vs2015卸载后 ...
- [转帖]ASP.NET的版本?
ASP.NET的版本? https://www.cnblogs.com/guogangj/p/8526365.html 问题源于这么一本书: <ASP.NET 4 解密(卷1)>,这本书大 ...
- Windows IIS注册asp 此操作系统版本不支持此选项 错误解决方法
更新Win10,原来的IIS站点访问不了,原因是因为IIS 没有.net 4.5,使用网上的aspnet_regiis.exe -i命令,一点都不靠谱,直接提示: C:\WINDOWS\system3 ...
- 【转】Windows IIS注册asp 此操作系统版本不支持此选项 错误解决方法
原文:https://blog.csdn.net/sweety820/article/details/79538973 更新Win10,原来的IIS站点访问不了,原因是因为IIS 没有.net 4.5 ...
- Win10-IIS注册asp 此操作系统版本不支持此选项 错误解决方法
现象再现: 今日在Win10上面ASP.NET网站突然不能跑了, 过程再现: 根据资料提示重新注册ASPNET_IIS.exe -i 直接提示: C:\WINDOWS\system32>c:\w ...
- ASP.NET网站版本自动更新程序及代码[转]
1.自动更新程序主要负责从服务器中获取相应的更新文件,并且把这些文件下载到本地,替换现有的文件.达到修复Bug,更新功能的目的.用户手工点击更新按钮启动更新程序.已测试.2.环境VS2008,采用C# ...
- EF7 在ASP.NET5 RC1版本中数据结构合并的问题
由于EF版本和asp.net5版本不断更新导致命令出现冲突.最新命令如下: C:\ScrumBasic\ScrumBasic>dnx ef _/\__ ---==/ \\ ___ ___ |. ...
随机推荐
- CentOS7下安装rabbitmq消息队
安装如下步骤: 1.首先安装erlang yum install erlang 注:如果出现No package erlang available. rpm -Uvh http://download. ...
- 推荐《用Python进行自然语言处理》中文翻译-NLTK配套书
NLTK配套书<用Python进行自然语言处理>(Natural Language Processing with Python)已经出版好几年了,但是国内一直没有翻译的中文版,虽然读英文 ...
- tkinter中布局pack、place和grid(八)
tkinter中布局pack.place和grid pack布局 import tkinter wuya = tkinter.Tk() wuya.title("wuya") wuy ...
- jQuery学习之旅 Item9 动画效果
1.元素的显示和隐藏 display:none; 隐藏 display:block; 显示 简单显示和隐藏方法 a) show() 显示 b) hide() 隐藏 c) toggle() 开关,显示则 ...
- Java中存取权限和修饰符public、private、protected和default的区别和联系
java中有4种存取权限和对应的修饰符(从限制最少的开始列出),主要作用如下: 1.public权限最大,代表任何程序代码都可以存取的公开事物(类.变量.方法.构造函数等).它往往用于对外的情况,也就 ...
- 关于crontab命令
crontab命令 crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令.该命令从标准输入设备读取指令,并将其存放于"crontab"文件中,以供 ...
- java基础学习周计划之2--面向对象
JAVA面向对象第一天一. 知识点:1. 类和对象二. 关键问题(理论):1. 简述什么是类.什么是对象2. 简述基本类型变量与引用类型变量赋值时的差别3. 简述null的含义三. 关键代码(操作): ...
- golang 并发模式笔记
1.并发并不是并行,前者是优先对时间片的抢占,后者是真多核. go中多线程时直接要求并行的方法是: 亦不可滥用,CPU密集型,并发度很高的场景适用. 2.go起的协程 3. function that ...
- vue不是内部或外部命令解决验证方案
一.前提 1.该教程是在你已经安装配置好node.js和express情况下 2.你已经完成了vue和vue-cli的全局安装 3.完成以上2步后,使用vue指令,会显示"vue不是内部或外 ...
- 关于Redis的常见面试题解析
1. 使用redis有哪些好处? (1) 速度快,因为数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1) (2) 支持丰富数据类型,支持string,li ...