问题源于这么一本书:

《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. Intent的跳转和传值

    看了Intent的使用方法,感觉还是要做一些笔记的,首先对于Intent的跳转Activity这个功能的实现就有两种方法,也可以说有三种: 1.                  2.

  2. 【原】用Java编写第一个区块链(一)

    写这篇随笔主要是尝试帮助自己了解如何学习区块链技术开发. [本文禁止任何形式的全文粘贴式转载,本文来自 zacky31 的随笔] 目标: 创建一个最基本的"区块链" 实现一个简单的 ...

  3. HTML学习之制作导航网页

    前言 今天用HTML写了一个网址导航,源代码如下: <html> <head> <title>网址导航</title> </head> &l ...

  4. 你不知道的JavaScript--Item19 执行上下文(execution context)

    在这篇文章里,我将深入研究JavaScript中最基本的部分--执行上下文(execution context).读完本文后,你应该清楚了解释器做了什么,为什么函数和变量能在声明前使用以及他们的值是如 ...

  5. Java面试题之对static的理解

    1.静态变量 类型说明符是static.2.静态变量属于静态存储方式,其存储空间为内存中的静态数据区(在 静态存储区内分配存储单元),该区域中的数据在整个程序的运行期间一直占用这些存储空间(在程序整个 ...

  6. stack的empty()

    public static void main(String[] args) { Stack stack=null; System.out.println("1."+stack.e ...

  7. Dubbo中消费者初始化的过程解析

    首先还是Spring碰到dubbo的标签之后,会使用parseCustomElement解析dubbo标签,使用的解析器是dubbo的DubboBeanDefinitionParser,解析完成之后返 ...

  8. 最短路 BZOJ3694 树链剖分+线段树

    分析: 树剖裸题,[Usaco2009 Jan]安全路经Travel 的简化版 剖开最短路树,遍历每一条没在最短路树上的边. 这种情况下,有且仅有u到v路径上,出来lca之外的点能够通过这条边到达,并 ...

  9. eclipse中去掉py文件中烦人的黄色弹框

    eclipse中写py文件,当鼠标点击在参数上时总是出现黄线的弹框,影响人操作,感觉特别烦,如下: 解决方案: windows--preferences--hover--pydev--hover取消选 ...

  10. java的8种基础类型

    一.基础类型 Java 是一种强类型语言 . 这就意味着必须为每一个变量声明一种类型 : 在 Java 中,一共有 8种基本类型 ( primitive type ) , 其中有 4 种整型 . 2 ...