问题源于这么一本书:

《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
  1. ASP.NET是与.NET Framework一起发布的,它属于.NET Framework的一部分,它的实现是封装在System.Web.dll中的,所以可以认为.NET Framework的版本就是ASP.NET的版本
  2. 但到了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
  3. ASP.NET Core基于.NET Core,它是跨平台的
  4. .NET Core和ASP.NET Core都是开源的(使用MIT License),而.NET Framework和ASP.NET并不开源
  5. 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是开源的
  6. 另外有一个叫ASP.NET Web API的框架,与ASP.NET MVC框架类似,可以独立通过nuget获取,开发模式与ASP.NET MVC类似,区别在于侧重点,Web API注重数据交换而不是页面渲染
  7. ASP.NET Core中直接包含了MVC及Web API的功能(其实准确的说,应该是你可以自由选择其中的各个组件,可谓丰俭由人)

好了,那接下来的问题是:我改选择什么?

答案显而易见,肯定是最新的ASP.NET Core 2.0了,(事实上,到我写下这段文字时,它最新版是2.0.4)当然了,前提是你有得选的话,至于.NET好在哪,C#好在哪这种问题,请自行知乎。

ASP.NET的版本?的更多相关文章

  1. 【转载】保哥 釐清 CLR、.NET、C#、Visual Studio、ASP.NET 各版本之間的關係

    我常常不仅仅逛 博客园,还会去找国外,特别是台湾的技术部落格,发现好的文章,我便会收录,今天我转载或者全文复制,在Google 博客园,一位叫保哥, 釐清 CLR..NET.C#.Visual Stu ...

  2. CLR/.NET/C#/Visual Studio/ASP.NET各版本之间的关系(转)

    由于这篇文章记录的是2015年7月,那时.net core还是叫做.net core 5 名词定义 下列这些名词,写.NET 的人一定都不陌生,但你是否有真正理解呢?如果看了我的摘要文字说明还无法理解 ...

  3. Asp.NetCore1.1版本没了project.json,这样来生成跨平台包

    本章将要和大家分享的是Asp.NetCore1.1版本去掉了project.json后如何打包生成跨平台包, 为了更好跟进AspNetCore的发展,把之前用来做netcore开发的vs2015卸载后 ...

  4. [转帖]ASP.NET的版本?

    ASP.NET的版本? https://www.cnblogs.com/guogangj/p/8526365.html 问题源于这么一本书: <ASP.NET 4 解密(卷1)>,这本书大 ...

  5. Windows IIS注册asp 此操作系统版本不支持此选项 错误解决方法

    更新Win10,原来的IIS站点访问不了,原因是因为IIS 没有.net 4.5,使用网上的aspnet_regiis.exe -i命令,一点都不靠谱,直接提示: C:\WINDOWS\system3 ...

  6. 【转】Windows IIS注册asp 此操作系统版本不支持此选项 错误解决方法

    原文:https://blog.csdn.net/sweety820/article/details/79538973 更新Win10,原来的IIS站点访问不了,原因是因为IIS 没有.net 4.5 ...

  7. Win10-IIS注册asp 此操作系统版本不支持此选项 错误解决方法

    现象再现: 今日在Win10上面ASP.NET网站突然不能跑了, 过程再现: 根据资料提示重新注册ASPNET_IIS.exe -i 直接提示: C:\WINDOWS\system32>c:\w ...

  8. ASP.NET网站版本自动更新程序及代码[转]

    1.自动更新程序主要负责从服务器中获取相应的更新文件,并且把这些文件下载到本地,替换现有的文件.达到修复Bug,更新功能的目的.用户手工点击更新按钮启动更新程序.已测试.2.环境VS2008,采用C# ...

  9. EF7 在ASP.NET5 RC1版本中数据结构合并的问题

    由于EF版本和asp.net5版本不断更新导致命令出现冲突.最新命令如下: C:\ScrumBasic\ScrumBasic>dnx ef _/\__ ---==/ \\ ___ ___ |. ...

随机推荐

  1. Kali Linux配置ssh服务

    操作环境: 虚拟机操作系统: Kali Linux 2017.2 虚拟化软件: VMware Workstation 14 pro 虚拟机网络连接方式: 桥接模式 物理机操作系统: Windows10 ...

  2. 用 150 行 Python 代码写的量子计算模拟器

    简评:让你更轻松地明白,量子计算机如何遵循线性代数计算的. 这是个 GItHub 项目,可以简单了解一下. qusim.py 是一个多量子位的量子计算机模拟器(玩具?),用 150 行的 python ...

  3. nginx 开启 停止 重启

    Nginx的启动.停止与重启 启动 启动代码格式:nginx安装目录地址 -c nginx配置文件地址 例如: [root@LinuxServer sbin]# /usr/local/nginx/sb ...

  4. Elasticsearch笔记四之配置参数与核心概念

    在es根目录下有一个config目录,在此目录下有两个文件分别是elasticsearch.yml和logging.yml. logging.yml是日志文件,es也是使用log4j来记录日志的,我在 ...

  5. 【线段树】Bzoj1230 [Usaco2008 Nov]lites 开关灯

    Description Farmer John尝试通过和奶牛们玩益智玩具来保持他的奶牛们思维敏捷. 其中一个大型玩具是牛栏中的灯. N (2 <= N <= 100,000) 头奶牛中的每 ...

  6. bzoj2120 数颜色 分块

    分块大法好 orz 处理出每个点的前驱和后继位置. 暴力修改,查询就在每个整块里查询pre<l的,暴力跑两边就好了 #include<cstdio> #include<cstr ...

  7. C# 利用VS自带的WSDL工具生成WebService服务类

    C# 利用VS自带的WSDL工具生成WebService服务类   WebService有两种使用方式,一种是直接通过添加服务引用,另一种则是通过WSDL生成. 添加服务引用大家基本都用过,这里就不讲 ...

  8. djiango的模板语言(template)

    老师的博客:http://www.cnblogs.com/liwenzhou/p/7931828.html 官方文档:https://docs.djangoproject.com/en/1.11/re ...

  9. Python练习:关于递归的经典实例设计

    (一)裴波拉契数列 利用递归算法获得裴波拉契数列前N个值的结果: #裴波拉契数列,通过递归计算 def fb(n): if n <=0: res = 0 elif n ==1: res = 1 ...

  10. python中报错"json.decoder.JSONDecodeError: Expecting value:"的解决

    在学习python语言中用json库解析网络数据时,我遇到了两个编译错误:json.decoder.JSONDecodeError: Expecting property name enclosed ...