C#版本
http://www.cnblogs.com/zhao123/p/5602223.html
1999年,就听说微软公司在研发一种名为“cool”的新开发语言,而具体内幕一直是个谜,直到2000年6月26日微软在奥兰多举行的“职业开发人员技术大会”(PDC 2000)上,这个谜底终于揭晓了,这种新的、先进的、面向对象的开发语言就是c#(发音为“C sharp”)。
版本
描述
C# 1.0
.NET Framework 1.0/1.1
Visual Studio 2002和2003
C#的第一个正式发行版本。微软从无到有创造的一个语言,专门为.NET变成提供支持。
C# 2.0
.NET Framework 2.0
Visual Studio 2005
C#语言开始支持泛型,.NET Framework 2.0新增了支持泛型的库。
.NET Framework 3.0
新增了一套API来支持分布式通信(Windows Communication Foundation,WCF)、
富客户端表示(Windows Presentation Foundation,WPF)、
工作流(Windows Workflow,WF)
以及Web身份验证(Cardspaces)
C# 3.0
.NET Framework 3.5
Visual Studio 2008
添加了对LINQ的支持,对集合操作API进行了大幅度的修改。.NET Framework 3.5对所有的API进行了扩展以支持LINQ。
C# 4.0
.NET Framework 4
Visual Studio 2010
添加了对动态类型的支持,对多线程编程API进行了大幅度改进,强调了多线程编程和核心的支持。
C# 5.0
.NET Framework 4.5
Visual Studio 2012
WinRT集成
添加了对异步方法的调用,同时不需要显式注册委托回调。在框架中新增了对Windows Runtime(WinRT)互操作的支持。
C# 6.0
Visual Studio 2015
C# 6.0 并不是对 C# 编程的根本性改变;C# 6.0 简化、阐明并压缩代码
http://www.cnblogs.com/endv/p/4018404.html
C#版本的历史
+ 展开目录
- 版本号的一些命名规则
- 语言,运行时,类库,开发工具的区
- 2002年 C#1.0发布
- 2005年 C#2.0发布
- 2007年 C#3.0发布
- 2010年 C#4.0发布
- 2012年 C#4.5发布
- 2012年 C#5.0发布
- 2014年 C#6.0发布
- 20**年 C#7.0发布
这年头啥东东都喜欢过段时间整个啥新版本出来.汽车,手机如此,软件就更是如此了啊.比如啥Iphone 4,Iphone 5,Windows 8,Oracle 12C,SQL Server 2010.
- 版本号的一些命名规则
大部分时候是在名字后面加些数字表示不同的版本.其中以加上年份号最为简单明了啊.比如Visual Studio 2008.但大部分人还是不用这个方式.因为年份号中没有带来更多的信息.我们是希望能从版本号得知有多大的改动的信息.所以很多软件都用的命名规则是下面这样Major.Minor.Build.Revision
主版本.子版本.内部版本.修订版本
这也就是4个不同的数字,中间用点号分开比如版本号4.3.2.1
一般主版本号变了代表改动非常大,子版本变了改动相对较少.内部版本,修订版本依次变动更小.反正你知道数字越在前面代表越重要.
不过上面的规范只是一个建议,你要不爱这么去命名也没谁管你.一般软件都用三个数字或两字数字就OK了.比如2.1.0或者2.1啊.第一次出来的产品一般就叫1.0
+ 语言,运行时,类库,开发工具的区别
在说C#版本号之前先讲下这几个概念的区别.很多关于版本号的混淆来自没很好区分这几个东东.
我们知道编程语言的话只是一些语法规范,就像法律条文一样.一般把语法规则写在规格说明书(Specification)上.
然后得整个编译出来,相当于一个翻译软件一样.当你按照规格书上的规则去写好代码后翻译器能把它们翻译成机器能识别的可执行文件.不过由于C#跟Java一样为了以后在不同的平台上运行,在操作系统上面在抽象出了一层,Java中叫虚拟机.C#中叫公共语言运行时(CLR).C#编译出来的东东叫微软中间语言(MSIL).它不能直接被机器识别.只能运行在CLR上.所以有时C#语言规范出了一些新特性,编译器要支持肯定得做些更新.但CLR要更新不呢?这个看情况,如果那些新特性,编译器翻译过来后跟以前的东东一样,比如语言中多了一些语法糖,实际上原理还没变.那CLR不用更新就能支持.如果新特性编译器翻译过来更以前的东东不一样了,这时也得更新CLR去支持
另外由于开发啥软件时都会有很多常用的操作.于是会整一些类库实现了那些功能给你用.你实现那些常用功能就不用自己从头写代码.调用下类库里面的函数就行了.而开发工具就是为了使你写代码方便的一个工具.比如给些智能提示,可以调试,当编译出错了会给你定位到出错的地方.但实际上你也可以完全不用开发工具,自己整个文本编译器就写代码的.不过很少有人这样做,太麻烦了.
平时说到C#可能提的最多的是.Net Framework了.这是个啥东东呢,它就是编译器,CLR,类库的一个组合.而我们安装微软的Visual studio时是把开发工具和.Net Framework给你一起打包好了.实际上VS中的东东很多,里面还有个C++的编译器,还有其他很多小工具.我们也可以单独安装.Net Framework.你电脑上如果想运行C#开发的软件,必须先装个.Net Framework.在Win 7上,微软给你默认安装了.Net Framework 3.5
- 2002年 C#1.0发布
2002年,微软发布了C#的第一个版本C# 1.0 而Java早在1996年就出现了.所以C#中借鉴了很多Java的思想.哎关于啥叫借鉴啥叫抄袭这是个很难说清楚的话题了啊.有了个语言自然还要个配对的编译器和类库,开发工具才行啊.于是就有了.Net Framework 1.0 Visual Studio.Net 2002
我们知道微软更新东西是相当的快,啥操作系统,数据库这种超级复杂的软件他也很快给你更新了.因为他有钱,有牛人去整啊.
于是第二年就有C# 1.2 .Net Framework 1.1 Visual Sudio.Net 2003
至于CLR版本是多少就不知道了,估计就是1.0吧
哎反正C# 2.0之前的东东出来后没几个人用的.现在是更没谁用了.所以你不用去管之前的这些玩艺了啊.
- 2005年 C#2.0发布
C# 2.0在2005年发布,也过了一两年C#开始流行起来了啊,现在很多人用C#开发大部分时候用的就是C#2.0里面的东西.
哎回想下2005年我在干嘛呢? 貌似还在高二,那会还是个软件白痴.从来没听说过啥编程语言,更不会听说C#了.还只是刚接触电脑,叫别人帮申请一个QQ,然后跑到网吧上网,摸索了半天才登上QQ,最后不小心点了最小化,结果找了半天硬是没找到它跑哪去了.也不好意思问旁边的人.最后极为郁闷的离开网吧.
与C#2.0配对的是.Net Framework 2.0 Visual Studio 2005. 其中CLR也是2.0 C#2.0中最大的更进是出现了泛型.在2005年微软不安面了数据库新版本SQL Server2005.所以2005对微软来说还是蛮重要的一年啊.
随后2006 年.Net Framework 3.0出现了,但C#语法, CLR ,VS还是老样子没变.我们知道刚一开始C#语言,CLR,.Net Framework都是一样的.就从这一次开始出现了不同.觉得这次的版本号取的就很是操蛋了啊.不过人家微软在.Net Framework新增加了很多东西,干了很多活啊.如果不整个新版本出来宣扬下可不行,做好事不留名可不是企业该做的事.在2006年微软还做了一件很是操蛋的事,整了个Vista系统出来,并把.Net Framework .30默认安装在上面.不知道现在还有多少人用Vista.
在.Net Framework添加了很多类库.比如出现了WPF,WCS,WF这些东东.
- 2007年 C#3.0发布
2007年年底C# 3.0发布.回想下那会的我在干嘛呢? 貌似是大二上学期了.此时我的还是孤陋寡闻的很.还从没听说过C#,只听说过啥C,C++,Java.有点印象的是啥时有次跑去图书馆好像有看到一本C#的书,但只一眼扫过,以为是C++,但印刷错误两个+重叠了,看起来变成C#了,也没翻开看看. 也从来没听说过CSDN这网站,自然也没登过这网站.貌似是是08年才听一个同学说到这网站的.他说这网站上下东西方便,很多地方其他地方找不着,只这有,只是操蛋的是很多东东要很多分才给下.
与C#3.0 配对的是 .Net Framework 3.5 ,Visual Studio 2008, CLR 3.0
不知道为啥07年发布的VS就叫08,估计是很多人喜欢赶时髦吧,08年听着是07年的东东感觉过时了啊.而且07年底了也快08年了.要是整成2012跨度太大就不好了啊.你像人家一生产啥食品的公司他07年底生产的东西一般也只敢贴个08年.只有少数胆子大的哥们敢给你贴个09,10.这样过了一两年那些吃的还能照样卖呢.不然人家一看日期过期了可不敢吃啊.
C# 3.0中最重要的特性就是Linq了.
- 2010年 C#4.0发布
2010年C#4.0发布,配对的是.Net Framework 4.0 Visaul Studio 2010 CLR4.0
C#4.0最重要的特性据说是支持动态类型了.老实说还没用过C#4.0中的新特性.VS2010中的新东东有次闲着没事到用了下,里面貌似支持MVC模式,.你新建一个Project时就默认生成一些代码,形有一个MVC的框架在那,相当于一个简单的示例,你能直接运行.我也就花了点时间整了个几个很小的页面出来,后面就没再玩过了啊.
再回想下我2010在干嘛呢?貌似要毕业了啊,毕业设计还临时抱佛脚用的C#整的,本来是想用Java整的,想用里面的一个啥框架,比如Spring,Struts,Hibernate之类的.但发现比较复杂.于是想偷懒换其他啥技术,刚开始想用MFC,但一看那页面丑得死,而且还极为复杂.然后又想到VB,但看到里代码里面竟然不用在括号,用啥if,end if看惯了C,C++,Java中的大括号自然极为讨厌VB这种风格的语法.不过现在觉得代码中不用大括号也挺习惯的,主要是写多了PL/SQL后习惯的.后面同宿舍的一哥们说C#容易啊,用这整吧.于是边学边用C#
- 2012年 C#4.5发布
C#4.5配套的是Visual Studio 2012.
哎算了不去赶时髦了,4.0我都学没去整过,4.5就也先不管了啊.啥时闲得蛋痛了再去了解下玩玩.
知道C#版本对我们的用处
我们知道C#的语言特性需要编译器和CLR来支持.而Win7默认安装的是.Net Framework 3.5.也就是说支持C#3.0, C#2.0所有特性.如果你用到了C#4.0或者4.5中新增的特性.用户用你的软件时必须得装新的.Net Framework如果你开发的只是个比较小的桌面程序之类的.用户用下你的东东还得去装个.Net Framework就不好了.
另外假如你还想让自己的软件在windows XP, Vista上运行.XP默认是没装.Net Framework的.Vista是装了.Net Framework3.0也就是说支持C# 2.0的所有特性.所有这种情况下你最好别用C#3.0或更新的版本里的新特性.
另外我前面谈到了C#语言有新特性了,CLR是不是一定得更新才能支持.也就是C#3.0的东西.Net Framework3.0 (CLR 2.0) 能支持吗?答案是有些特性可以支持,有些不可以.
比如C#中的自动填充属性,匿名类型等只是语法糖,原理还是没变的,经过编译器编译后跟以前2.0的东东一样.实际上C#3.0中除了Linq需要CLR3.0才能运行,其他特性CLR2.0都能支持.
当然你要用C#3.0的东西自然不能用Visual Studio2005了,得用Visual Studio 2008.在VS 2008中新建一个项目的时候你在向导的右上角有个下拉列表,里面可以选.Net Framework版本.有2.0,3.0,3.5三个选项可选.
- 2012年 C#5.0发布
- 2014年 C#6.0发布
2014年C#6.0发布,配对的是.Net Framework 5.0 Visaul Studio 2014
- 20**年 C#7.0发布
http://blog.csdn.net/xjc1278003262/article/details/8605738?utm_source=tuicool&utm_medium=referral
C#语言
C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员Anders Hejlsberg的最新成果。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司 .NET windows网络框架的主角。
C#读作C Sharp。最初它有个更酷的名字,叫做COOL。微软从1998年12月开始了COOL项目,直到2000年2月,COOL被正式更名为C#。在 1998年,Delphi语言的设计者Hejlsberg带领着Microsoft公司的开发团队,开始了第一个版本C#语言的设计。在2000年9月, 国际信息和通信系统标准化组织为C#语言定义了一个Microsoft公司建议的标准。最终C#语言在2001年得以正式发布。
C#是一种安全的、稳定的、简单的、优雅的,由C和C++衍生出来的面向对象的编程语言。它在继承C和C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏以及不允许多重继承)。C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。
C#是面向对象的编程语言。它使得程序员可以快速地编写各种基于MICROSOFT .NET平台的应用程序,MICROSOFT .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。
正是由于C#面向对象的卓越设计,使它成为构建各类组件的理想之选——无论是高级的商业对象还是系统级的应用程序。使用简单的C#语言结构,这些组件可以方便的转化为XML网络服务,从而使它们可以由任何语言在任何操作系统上通过INTERNET进行调用。
C#使得C++程序员可以高效的开发程序,且因可调用由 C/C++ 编写的本机原生函数,因此绝不损失C/C++原有的强大的功能。因为这种继承关系,C#与C/C++具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#
C#语言版本
C# 1.0-纯粹的面向对象
在2003年5月,微软推出了Visual Studio .NET 2003,同时也发布了C#的改进版本——C# 1.1。
这一时期的C#(以下称为C# 1.x)提出了纯粹的面向对象概念。C++并非纯面向对象的,为了和C兼容以及提供更高的执行效率,它保留了很多模块化的东西。C#还通过类类型、值类型和接口类型的概念形成了统一的类型系统。[25]
尽管C# 1.x提供了如此多的新鲜概念,但实际上,这些概念都是由CLI提出的。因此当将一个C#源程序编译为可执行文件时,编译器做的工作相对而言并不多。需要编译器代劳的是要将一个简单的委托定义语句翻译为一个继承System.MulticastDelegate类型定义。
C# 2.0-泛型编程新概念
微软在2004年的6月份发布了Visual Studio2005的第一个Beta 版,同时向开发者展示了C#语言的2.0版本。2005年4月,微软发布了Visual Studio 2005 Beta2,这已经是具备了几乎全部功能的VisualStudio,包括的产品有SQL Server2005、Team Foundation Server和TeamSuite。这时的C#编译器已经能够处理C# 2.0中所有的新特性。
C# 2.0为开发者带来的最主要的特性就是泛型编程能力。和面向对Microsoft Visual C# .NET Step by Step象思想一样,泛型思想也是一种已经成熟的编程思想,但依然是没有哪一种主流开发语言能够支持完备的泛型概念。这主要是因为泛型的概念在一定程度上对面向对象概念进行冲击,同时,由于在编译期间对类型参数的完全检测很难做到,很多问题会被遗留到运行时。C# 2.0别出心裁,对泛型类型参数提出了“约束”的新概念,并以优雅的语法体现在语言之中。有了约束,结合编译器强大的类型推断能力,可以在编译时发现几乎所有“危险”的泛型应用。
C# 2.0的另一个突出的特性就是匿名方法,用来取代一些短小的并且仅出现一次的委托,使得语言结构更加紧凑。匿名方法除了可以使得事件处理器的编写更加精简以外,还将开发者带入了程序设计的一个新 的领域——函数式编程,曾经有高人就用匿名方法结合泛型编程实现了函数式编程中的重要结构——Lambda 表达式。尽管这种实现显得很繁琐而且不易理解,但毕竟是实现了。
C#3.0-(研发代号“Orcas”)
2005年9 月份的PDC大会——C#3.0(研发代号“Orcas”——魔鬼)的技术预览版。说到C# 3.0,就不得不提一下微软的LINQ 项目,LINQ(语言集成查询,LanguageIntegrat
ed Query)提出了一种通过面向对象语法来实现对非面向对象数据源的查询技术,可查询的数据源从关系型数据库延伸到一般意义上的集合(如数组和列表)以及XML。而C# 3.0则是率先实现了LINQ的语言。
在C# 3.0中,可以用类似于SQL语句的语法从一个数据源中轻松地得到满足一定条件的对象集合。例如要查找一个字符串数组names中所有长度大于5的字符 串,就可以写:var longname = from n in names wheren.Length > 5 select n;
这样就得到一个新的字符数组longname,其中包含了所需要的结果。这种语句称作查询语句,与SQL语句唯一的 区别是C#中的查询语句往往把select子句放到最后(这反而倒有些类似于中文的阅读顺序了)。初次看到这样一个语句,可能会有很大疑问:这还是C#语 言吗?这的确是合乎语法规则的C#代码,而且编译器可以识别这种语法。然而实际上,C#编译器并不会对这种语法进行实际的的编译,而是将其翻译为正常的方 法调用。
C# 4.0动态编程
C# 4.0 新增 dynamic关键字,提供动态编程(dynamic programming),把既有的静态物件标记为动态物件,类似JavaScript,Python 或 Ruby。
(PS:这里面还有一点版本号的小插曲——VS2008所对应的.Net Framework是3.5,C#是3.0,CLR是2.0,及其混乱,MS终于下决心在VS2010中把这三个版本号都统一成了4.0,于是CLR3不知所终……)
.NET FrameWork
.NET Framework是用于Windows的新托管代码编程模型。它强大功能与新技术结合起来,用于构建具有视觉上引人注目的用户体验的应用程序,实现跨技术边界的无缝通信,并且能支持各种业务流程。
.NET Framework 是以一种采用系统虚拟机运行的编程平台,以通用语言运行库(Common Language Runtime)为基础,支持多种语言(C#、VB、C++、Python等)的开发。NET也为应用程序接口(API)提供了新功能和开发工具。这些革新使得程序设计员可以同时进行Windows应用软件和网络应用软件以及组件和服务(web服务)的开发。.NET提供了一个新的反射性的且面向对象程序设计编程接口。.NET设计得足够通用化从而使许多不同高级语言都得以被汇集。.NET Framework 中的所有语言都提供基类库(BCL)。
.NET编译平台由核心组件及其他构件(开发工具及协议、WEB客户端及终端用户应用、WEB服务及企业服务器)所组成。微软的Windows作为操作系统运行于.NET框架之下,在Windows XP SP2/Windows Server 2003/Windows Vista系统中内置.NET框架,它也可以安装在大多数老版本的Windows系统中。.NET框架作为.NET开发平台的核心组件为Web服务及其它应用提供构建、移植和运行的环境。.NET组件是一个带有动态链接库扩展的预编制类模块。在运行的时候,通过使用一个用户使用程序被激活并加载到内存中。.NET组件是用于创建网络和Windows应用程序的,这些应用程序使一个应用程序所需的功能可以显示在外部。.NET平台还包含Web表单,Web表单是可从网上下载的标准接口。一个Web表单包含供使用者输入数据资料的文本框。然后使用者可以将表单提交给接收器。.NET平台至关重要的一部分就是网络服务器。网络服务器查询协议和标准的合集。应用程序可以使用网络服务器通过计算机网络交换数据资料。例如,当你在线上订购火车票,并输入你的信用卡卡号付款时,你就在使用网络服务器。
版本介绍
NET Framework 1.0
完整版本号 - 1.0.3705。这是最初的.NET构架,发行于2002年。它可以以一个独立且可重新分发的包的形式或在一个软件发展工具包集中被获得。它也是第一个微软Visual Studio .NET的发行版的一部分(也被称作Visual Studio.NET 2002)。
.NETFramework 1.1
完 整版本号 - 1.1.4322。这是首个主要的.NetFramework升级版本,发行于2003年。它可以以一个独立的可重新分发的包的形式或在一个软件发展工具包集中被获得。它也是第二个微软 Visual Studio .NET版本的一部分(也被称作Visual Studio.Net 2003)。它也是首个被Windows操作系统-Windows Server 2003所内置的.Net Framework版本。
自1.0版本以来的改进:
自带了对mobile asp .net控件的支持。这在1.0版本是以附加功能方式实现的,现在已经集成到框架的内部。安全方面的变更 - 使得Windows窗体代码以可靠的行为运行,从而可以在Internet环境内安全运行,并且加入了ASP .NET应用程序的代码安全访问功能。自带了对ODBC和Oracle数据库的支持。这在1.0版本是以附加功能方式实现的,现在已经集成到框架的内部。.NET Compact Framework- 这是一个用于智能设备(例如Pocket PC或者SmartPhone)的.Net Framework的子集。对IPv6的支持。大量的API变更。
.NETFramework 2.0
完整版本号 - 2.0.50727.42,发行于2005年10月27日。
.Net Framework 2.0的组件都包含在 Visual Studio 2005和SQL Server 2005里面。通过MSDNUniverse 版可以免费下载RTM版本。自1.1版本以来的改进:大量的API变更。新的API让需要管理.NET运行库实例的非.NET的应用程序可以做到这点。这 个新的API对.NET运行库的各种功能,包括:多线程、存储器分配、代码加载等,提供了很好的控制。它最初是为Microsoft SQL Server能够有效率的使用.NET运行库而设计的,因为Microsoft SQL Server拥有它自己的日程管理器和存储器管理器。
此版本不支持 Windows 2000。
发行于2006年11月21日。曾用名“WinFX”。依然使用.NetFramework 2.0版本的公共语言运行库(CLR),并加入了适应未来软件发展方向的4个框架:
Windows Presentation Foundation(WPF):提供更佳的用户体验,用来开发Windows Forms程序以及流览器应用程序.Windows Communication Foundation(WCF):提供SOA(面向服务的软件构架)支持的安全的网络服务(Web Service)框架。Windows Workflow Foundation(WF):提供一个设计与发展工作流程导向(Workflow-oriented)应用程序基础支持的应用程序接口。WindowsCardSpace:提供一个SSO的解决方案,每个用户都有各自的CardSpace。
.NET Framework 3.5
此版本不支持 Windows 2000。
这个版本将包含一个支持C#和VB .Net中心的语言特性的编译器,以及对语言集成查询(LINQ,Language-Integrated Query)的支持。该版本随Visual Studio 2008一起发布。
同时,.NET Framework 3.5自动包含 .NETFramework 2.0 SP1以及 .Net Framework 3.0 SP1,用于为这两个版本提供安全性修复,以及少量新增的类库(如System.DateTimeOffest)。此版本提供的新功能有:
扩展方法(Extension Method)属性(Attribute),用于为扩展方法提供支持LINQ支持,包括LINQ toObject、LINQ to ADO .NET以及LINQto XML表达式目录树(Expression Tree),用于为Lambda表达式提 供支持与语言集成查询 (LINQ)和数据感知紧密集成。借助这个新功能,您可以使用相同的语法,在任何支持LINQ的语言中编写相关代码,以筛选和枚举多种类型的SQL数据、 集合、XML和数据集,以及创建它们的投影。利用asp .netAJAX可以创建更有效、更具交互性、高度个性化的Web体验,这些体验在所有最流行的浏览器上都能实现。用于生成WCF服务的全新Web协议支 持,包括AJAX、JSON、REST、POX、RSS、ATOM和若干新的WS-*标准。VisualStudio 2008中面向WF、WCF和WPF的完整工具支持,其中包括支持工作流的服务这一新技术。.Net Framework3.5基类库 (BCL)中的新类可满足许多常见的客户请求。
该版本新增的ASP .NET功能,随Visual Studio2008 SP1发布,此版本提供了下列的新功能:
新增的ASP .NET功能包括ASP .NET动态数据和ASP .NET AJAX附加功能,前者提供了无需编写代码就可实现数据驱动的快速开发的丰富支架框架,后者为管理浏览器历史记录提供了支持(后退按钮支持)。ADO .NET Entity Framework。对SQL Server 2008的数据提供程序支持。.Net Framework客户端配置文档是完整版.Net Framework的子集,面向客户端应用程序。这改善了尚未安装.Net Framework的计算机上的安装体验。改进WindowsPresentation Foundation的性能,其中包括启动速度的位图效果性能的提高。为WindowsPresentation Foundation增加的功能包括对业务线应用程序的更好支持、本机闪屏支持、DirectX像素着色器支持以及新的WebBrowser控件。 ClickOnce应用程序发布者可以根据具体情况决定是否取消签名和散列,开发人员可以以编程方式安装显示自定义署名的ClickOnce应用程 序,ClickOnce错误对话框支持指向网络上特定于应用程序的支持站点的链接。用于SQL Server的.Net Framework数据提供程序 (System.Data.SqlClient)完全支持SQL Server 2008数据库引擎的所有新功能。有关.Net Framework对SQL Server 2008的支持的更多信息,请参见SQL Server中的新功能 (ADO .NET)。ADO .NET数据平台是一种多版本策略,它使开发人员能够针对概念性实体数据模型进行编程,从而减轻他们的编码和维护工作。此平台提供了ADO .NET Entity Framework、实体数据模型 (EDM)、对象服务、LINQ to Entities、Entity SQL、EntityClient、ADO .NET数据服务及实体数据模型工具。Windows Communication Foundation现在提供了改进的互操作性支持,增强了部分信任方案中的调试体验,并扩展了集成协议支持以更广泛地应用于Web 2.0应用程序,进而使DataContract串行化程序更易于使用。Microsoft.VisualBasic.PowerPacks命名空间引入 了新的DataRepeater控件,该控件以可自定义的列表格式显示数据。此命名空间还包含新的矢量形状。
.NETFramework 4.0
此版本不支持 Windows 2000。
.NET Framework 4.0主要增加了并行支持,于2010年4月12日推出。
企业基础 .NET提供开发软件的独立平台,自带高度安全的网络系统,相当倚重软件组件以及组件导向程序。在这方面它完全取代前者(COM1)。
.NETFramework 4.5
此版本不支持 Windows 2000、Windows XP。
.NET Framework 4.5 发行于2012年8月16日,是支持生成和运行下一代应用程序和 Web 服务的内部 Windows 组件。 .NET Framework 的关键组件为公共语言运行时 (CLR) 和 .NET Framework 类库(包括ADO .NET、ASP .NET、Windows 窗体和Windows Presentation Foundation (WPF) 和 WindowsWorkflow Foundation (WF))。 .NET Framework 提供了托管执行环境、简化的开发和部署以及与各种编程语言的集成。[5]
.NET for Windows Store apps:Windows Metro 风格 应用程序为特定窗体因素并利用 Windows 操作系统的功能。通过使用 C# 或 Visual Basic,.NET Framework 4.5 的子集可用于生成 Windows 的 Metro 风格 应用程序。 这个子集称为 .NET for WindowsStore apps
更新内容:
1.在部署期间,能够通过检测和关闭.NET Framework 4 应用程序来减少系统重启。为大于20 GB 在 64 位平台上 (GB) 的数组支持。 此功能可在应用程序配置文件中启用。
2.通过服务器的背景垃圾回收改进性能。 当您使用服务器垃圾回收在 .NET Framework 4.5 中时,后台垃圾回收自动启用。
3.背景实时 (JIT) 生成,可以选择可用在多核处理器改进应用程序性能。
4.在它超时之前,能够限制正则表达式引擎要多久能尝试解决正则表达式。
5.能够定义应用程序域的默认区域性。
6.Unicode (UTF-16) 编码的控制台支持。
7.为版本控制区域性字符串排序和比较数据支持。
8.在检索资源时,请改进性能。 请参见 打包和部署桌面应用程序中的资源。
9.Zip 压缩改进可减少压缩文件的大小。
10.通过CustomReflectionContext 类,能够自定义反射上下文来重写默认反射行为。
11.对于国际化域名的 2008 版在应用程序 (IDNA) 标准的支持,当System.Globalization.IdnMapping 选件类在 Windows 8 使用时。
12.当 .NET Framework在 Windows 8 使用时,到操作系统的字符串比较的委托实现 Unicode 6.0。 在其他平台上运行时,.NET Framework 包括其自己的实现 Unicode 5.x 的字符串比较数据。每个应用程序域的基础上能够计算字符串的哈希代码。
C#与.NET的关系
C#是一种相当新的编程语言,C#的重要性体现在以下两个方面:
● 它是专门为与Microsoft的.NET Framework一起使用而设计的。(.NET Framework是一个功能非常丰富的平台,可开发、部署和执行分布式应用程序)。
● 它是一种基于现代面向对象设计方法的语言,在设计它时,Microsoft还吸取了其他类似语言的经验,这些语言是近20年来面向对象规则得到广泛应用后才开发出来的。
有一个很重要的问题要弄明白:C#就其本身而言只是一种语言,尽管它是用于生成面向.NET环境的代码,但它本身不是.NET的一部分。.NET支持的一些特性,C#并不支持。而C#语言支持的另一些特性,.NET却不支持(例如运算符重载)!
但是,因为C#语言是和.NET一起使用的,所以如果要使用C#高效地开发应用程序,理解Framework就非常重要。
https://github.com/dotnet/csharplang/blob/master/Language-Version-History.md