族谱网 头条 人物百科

.NET框架

2017-10-16
出处:族谱网
作者:阿族小谱
浏览:731
转发:0
评论:0
版本0.^自SP1起所有WindowsXP分发光盘或镜像中均包含1.0版的安装包,并且这个版本作为WindowsXPTabletPC和MediaCenter版的必要组成元素。small>1.^.NetFramework1.1可以部署于Itanium和x86-64平台,由WOW64支持。small>2.^在Itanium平台上有些功能不被支持,比如WPF。small>3.^从版本4.5起,随同WindowsRT,WindowsRT8.1运用于ARMv7平台,由于是精简版,未列于此表。small>发行历史.NET框架1.0完整版号-1.0.3705这是最早的.NET架构,于2002年发行。它可以以一个独立且可重新分发的包的形式或在一个软件发展工具包集中被获得。它也是第一个微软VisualStudio.NET的发行版的一部分(也被称作VisualStudio.NET2002)。.NET框架1.1...

版本

0. ^ 自SP1起所有Windows XP分发光盘或镜像中均包含1.0版的安装包,并且这个版本作为Windows XP Tablet PC和Media Center版的必要组成元素。 small> 1. ^ .Net Framework 1.1 可以部署于Itanium和x86-64平台, 由WOW64支持。 small> 2. ^ 在Itanium平台上有些功能不被支持,比如WPF。 small> 3. ^ 从版本4.5起,随同Windows RT, Windows RT 8.1运用于ARM v7平台,由于是精简版,未列于此表。 small>

发行历史

.NET框架 1.0

完整版号 - 1.0.3705

这是最早的.NET架构,于2002年发行。它可以以一个独立且可重新分发的包的形式或在一个软件发展工具包集中被获得。它也是第一个微软Visual Studio .NET的发行版的一部分(也被称作Visual Studio .NET 2002)。

.NET框架 1.1

完整版号 - 1.1.4322

这是首个主要的.NET框架升级版本,发行于2003年。它可以以一个独立的可重新分发的包的形式或在一个软件发展工具包集中被获得。它也是第二个微软Visual Studio .NET版本的一部分(也被称作Visual Studio .NET 2003)。它也是首个被Windows操作系统-Windows Server 2003所内置的.NET框架版本。

自1.0版本以来的改进:

内置了对mobile ASP.NET控件的支持。这在1.0版本是以附加功能方式实现的,现在已经集成到框架的内部。

安全方面的变更 - 使得Windows窗体代码以可靠的行为运行,从而可以在Internet环境内安全运行,并且加入了ASP.NET应用程序的代码安全访问功能。

内置了对ODBC和Oracle数据库的支持。这在1.0版本是以附加功能方式实现的,现在已经集成到框架的内部。

.NET Compact Framework- 这是一个用于智能设备(例如Pocket PC或者SmartPhone)的.NET框架的子集。

对IPv6的支持。

大量的API变更 。

.NET框架 2.0

完整版号 - 2.0.50727.42,发行于2005年10月27日。

.NET框架 2.0的组件都包含在 Visual Studio 2005和SQL Server 2005里面。通过MSDN Universe版可以免费下载RTM版本。

自1.1版本以来的改进:

大量的API变更 。

新的API让需要管理.NET运行库实例的非.NET的应用程序可以做到这点。这个新的API对.NET运行库的各种功能,包括:多线程、内存分配、代码加载等 ,提供了很好的控制。它最初是为Microsoft SQL Server能够有效率的使用.NET运行库而设计的,因为Microsoft SQL Server拥有它自己的日程管理器和内存管理器。

.NET框架 2.0 SP1

随.NET框架 3.5同时发行,请参看#.NET框架 3.5一节。

.NET框架 2.0 SP2

随.NET框架 3.5 SP1同时发行,请参看#.NET框架 3.5 SP1一节。

.NET框架 3.0

发布日期2006/11/21。曾用名“WinFX”。依然使用.NET框架 2.0版本的公共语言运行库(CLR),并加入了适应未来软件发展方向的4个框架:

Windows Presentation Foundation(WPF):提供更佳的用户体验,用来开发Windows Forms程序以及浏览器应用程序(参见WPF/E).

Windows Communication Foundation(WCF):提供SOA(面向服务的软件构架)支持的安全的网络服务(Web Service)框架。

Windows Workflow Foundation(WF):提供一个设计与发展工作流程导向(Workflow-oriented)应用程序基础支持的应用程序接口。

Windows CardSpace:提供一个SSO的解决方案,每个用户都有各自的CardSpace。

.NET框架 3.0 SP1

随.NET框架 3.5同时发行,请参看#.NET框架 3.5。

.NET框架 3.0 SP2

随.NET框架 3.5 SP1同时发行,请参看#.NET框架 3.5 SP1。

.NET框架 3.5

这个版本将包含一个支持C#和VB.Net中心的语言特性的编译器,以及对语言集成查询(LINQ, Language-Integrated Query)的支持。该版本随Visual Studio 2008一起发布。

同时,.NET框架 3.5自动包含.NET框架 2.0 SP1以及.NET框架 3.0 SP1,用于为这两个版本提供安全性修复,以及少量新增的类库(如System.DateTimeOffest),此版本提供的新功能有:

扩展方法(Extension Method)属性(Attribute),用于为扩展方法提供支持

LINQ支持,包括LINQ to Object、LINQ to ADO.NET以及LINQ to XML

表达式目录树(Expression Tree),用于为Lambda表达式提供支持

与语言集成查询(LINQ)和数据感知紧密集成。借助这个新功能,您可以使用相同的语法,在任何支持LINQ的语言中编写相关代码,以筛选和枚举多种类型的SQL数据、集合、XML和数据集,以及创建它们的投影。

利用ASP.NET AJAX可以创建更有效、更具交互性、高度个性化的Web体验,这些体验在所有最流行的浏览器上都能实现。

用于生成WCF服务的全新Web协议支持,包括AJAX、JSON、REST、POX、RSS、ATOM和若干新的WS-*标准。

Visual Studio 2008中面向WF、WCF和WPF的完整工具支持,其中包括支持工作流的服务这一新技术。

.NET框架 3.5基类库(BCL)中的新类可满足许多常见的客户请求。

.NET框架 3.5 SP1

.NET框架 3.5 SP1自动包含.NET框架 2.0 SP2以及.NET框架 3.0 SP2。该版本随Visual Studio 2008 SP1发布,此版本提供了下列的新功能:

新增的ASP.NET功能包括ASP.NET动态数据和ASP.NET AJAX附加功能,前者提供了无需编写代码就可实现数据驱动的快速开发的丰富支架框架,后者为管理浏览器历史记录提供了支持(后退按钮支持)。

ADO.NET Entity Framework。

对SQL Server 2008的数据提供程序支持。

.NET框架客户端配置文件是完整版.NET框架的子集,面向客户端应用程序。这改善了尚未安装.NET框架的计算机上的安装体验。

改进Windows Presentation Foundation的性能,其中包括启动速度的位图效果性能的提高。为Windows Presentation Foundation增加的功能包括对业务线应用程序的更好支持、本机闪屏支持、DirectX像素着色器支持以及新的WebBrowser控件。

ClickOnce应用程序发布者可以根据具体情况决定是否取消签名和散列,开发人员可以以编程方式安装显示自定义署名的ClickOnce应用程序,ClickOnce错误对话框支持指向网络上特定于应用程序的支持站点的链接。

用于SQL Server的.NET框架数据提供程序(System.Data.SqlClient)完全支持SQL Server 2008数据库引擎的所有新功能。有关.NET框架对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控件,该控件以可自定义的列表格式显示数据。此命名空间还包含新的矢量形状。

.NET框架 4.0

.NET框架 4.0主要增加了并行支持,英文版于2010年4月12日推出。

新增System.Lazy ,做为延迟初始化时使用。

新增大整数的System.Numerics.BigInteger 与复数的System.Numerics.Complex (使用时需加入参考System.Numerics.dll)

微软于2016年1月12开始停止对.NET 4.0, 4.5, 4.5.1的安全性更新及技术支持

.NET框架 4.5

.NET框架

  .NET框架 4.5 logo

.NET框架 4.5是.NET框架 4高兼容性的就地更新(in-place update)。搭配C# 或Visual Basic程序设计语言使用.NET框架 4.5,即可编写Windows Store风格的应用程序。.NET框架 4.5可提升性能、可靠度及安全性。于2012年8月15日推出。但请注意,.NET框架 4.5只支持Windows Vista SP2以上版本的操作系统。

微软于2016年1月12开始停止对.NET 4.0, 4.5, 4.5.1的安全性更新及技术支持

.NET框架 4.5.1

.NET框架 4.5.1

.NET框架 4.5.2

.NET框架 4.5.2

.NET框架 4.6

.NET框架 4.6

.NET框架 4.6.1

.NET框架 4.6.1

.NET框架 4.6.2

企业基础 .NET提供开发软件的独立平台,内置高度安全的网络系统,相当倚重软件组件以及组件导向程序。在这方面它完全取代前者(COM)

CLR与CLI

.NET框架

  CLI运作图

.NET的初级组成是CLI和CLR。CLI是一套运作环境规范,包括一般系统、基础类库和与机器无关的中间代码,全称为Common Language Infrastructure。CLR则是确认操作密码匹配CLI的平台。在通用中间语言(CIL)运行前,CLR必须将指令及时编译转换成原始机器码。

所有CLI都可经由.NET自我表述。CLR检查元数据以确保正确的方法被调用。元数据通常是由语言编译器生成的,但开发人员也可以通过使用客户属性创建他们自己的元数据。

如果一种语言实现生成了CLI,它也可以通过使用CLR被调用,这样它就可以与任何其他.NET语言生成的数据相交互。CLR也被设计为操作系统无关性。

当一个汇编体被加载时,CLR运行各种各样的测试。其中的两个测试是确认与核查。在确认的时候,CLR检查汇编体是否包含有效的元数据和CIL,并且检查内部表的正确性。核查则不那么精确。核查机制检查代码是否会运行一些“不安全”的操作。核查所使用的算法非常保守,导致有时一些“安全”的代码也通不过核查。不安全的代码只有在汇编体拥有“跳过核查”许可的情况下才会被运行,通常这意味着代码是安装在本地上的。

通过.NET,你可以用SOAP和不同的web服务进行交互。

标准化和版权

2000年8月,微软、惠普和英特尔共同制定CLI和C#编程语言的标准规格。2001年12月,以上两者通过并成为ECMA标准规格。(ECMA 335和ECMA 334)。ISO亦于2003年4月跟随(ISO/IEC 23271和ISO/IEC 23270)。

这会有一定的风险,但它可以鼓励标准联合的实现,以提供一座桥梁来把非Windows的软件转变为微软.NET。将此推广为标准的一个团体是国际.NET联合会(INETA)。

尽管微软及其他合作伙伴持有CLI及C#的专利,ECMA和ISO要求所有专利都应该遵守“合理与非歧视准则”。除此之外,这些公司亦同意让用户免费使用这两项专利。

不过,这并不包括.NET框架内并不为ECMA/ISO标准涵盖的范围,这包括了:Windows Forms、ADO.NET及ASP.NET。微软对上述部件所持有的专利,使开发者未必能够为非微软平台开发出一套完整的作品。

2014 年11月13日,微软新任首席执行官萨帝亚·纳德拉决心下,该公司发布的 .NET 源代码包含了服务器部分的核心,如 .NET Framework Libraries 、 .NET Core Framework Libraries 和 RyuJit VM ,正式对外开放源代码。

.NET vs. Java EE

公共语言基础(CLI),通用中间语言(CIL)以及C#与甲骨文公司的Java虚拟机和Java之间有不少的相似之处,因此它们无疑是强烈的竞争者。它们两者都使用它们各自的中间码(在微软,它们叫做通用中间语言,而在Oracle,它们叫字节码)。通用中间语言被设计来即时编译(JIT),而Java的字节码在最初的时候则是设计成用于解释运行,而非即时编译。.NET现在只在Windows上被完美地支持,而Java则可在很多平台上被完好支持。然而,现在一些正在开发中的实现版本例如Mono或者Shared source CLI可以用于在类Unix操作系统例如Linux,FreeBSD和Mac OS X上运行.NET应用程序。甲骨文公司的一个产品,J2EE提供与微软的一些捆绑于Windows中的技术例如COM+(先前的MTS)和MSMQ等效的功能。

Java和.NET可经由IKVM,一个在.NET平台上实现的Java虚拟机作更多的沟通。

Java有其专门的远程程序调用技术RMI(Remote Method Invocation), RMI的另一版本RMI-IIOP更可兼容CORBA。

.NET vs. COM

前一版软件组件技术由Microsoft所提出的COM,该技术被用来创建大型(large-scale)的软件系统上,使用COM+ 或MTS对于传统分布式组件有强化的作用。当.NET将COM-objects封装成.NET组件以及将.NET组件封装成COM-objects后,Microsoft分别将他命名为Runtime Callable Wrapper(RCW)和COM Callable Wrapper(CCW)。很明显的,Microsoft最终将以.NET全面取代COM成为软件组件的架构。Microsoft希望开发者能够在Win32平台上使用.Net取代COM,而已经存在的服务则通过抽象接口来使用(如:目前交易的.Net组件仍然使用COM+)。

.Net Remoting & XML WebServices

.NET remoting属于进程(process)内沟通的抽象方法。

Microsoft® .NET Remoting提供一个丰富可扩充的框架给存在两个不同AppDomain中的Object,使得在不同进程(进程)和不同机器中能够进行无缝地沟通。.NET Remoting提供一种强大但简单的可编程化模型并且在运行阶段支持数据交换。

XML Web services将基础的功能区块布署到网络的不同电脑上。开放标准的通信协议以及人和应用程序可以通过Web Services集成应用程序的环境来合作。应用程序可以从不同的来源使用多个XML Web Services来建构应用程序而不需要知道他们在哪里以及如何来运作。

.NET的语言

CLI被设计成支持任何面向对象的编程语言,分享共同对象模型与大型共同类库。.NET支持超过40种编程语言。这些编译器大都是免费的(厂商卖的是IDEs)。

大部分的语言都做了重大改变以搭配.NET框架。厂商通常利用这个机会来同时改变语言的其他特性。

微软开发的.NET平台编程语言

C#,一个以C++和Java语法为基础开发的一个全新的面向对象语言,是.NET开发的首选语言。

Visual Basic .NET,一个加强了面向对象支持的,支持多线程的Visual Basic版本。

C++/CLI,一个C++的.NET平台版本变种。

JScript .NET,一个编译版本的MicrosoftJScript语言。

J#,一个对应于Java和J++(微软自己开发的Java变种)的.NET平台版本,但是由于知识产权问题,目前微软公司已经停止其开发应用。

F#,ML语言家族的一员。

Microsoft Small Basic

第三方使用.NET的编程语言

Ada,参阅A#。

APL

Boo,基于Python。

COBOL

Component Pascal,基于部件的Pascal,比起Pascal来更接近于Oberon。

Delphi 8 and Delphi 2005以及现在的delphi xe2都采用.net

Eiffel

Forth

FORTRAN

IKVM,Java。

IronPython,基于Python。

IronRuby,基于Ruby。

Lexico,基于西班牙语的面向对象编程语言。

Lisp

Mercury

Mondrian为了便于脚本部件编程而开发的功能型语言。

Nemerle函数式/指令式混合语言。

Oberon

Perl

Phalanger,PHP的.net编译器。

RPG

Smalltalk

TclBridge,基于Tcl。

PowerBuilder.NET powerbuilder 11.5及以后的版本都采用.net技术,但这种语言目前停止开发了。

ASP.NET & ADO.NET

ASP.NET是内含于.NET框架中,专门用来发展Web应用程序的一组类库集。

ADO.NET是内含于.NET框架中,专门处理与数据源沟通的数据访问类库集,被Windows Forms与ASP.NET应用程序大量使用,可说是.NET框架中唯一的数据访问接口。

可供选择的实现版本

微软的.NET框架是.NET技术的旗舰级实现版本,在此之外还有一些其他实现版本。

微软开发了一个称为共享源码公共语言基础(Shared Source Common Language Infrastructure,Shared Source CLI;即今ECMA—通用语言架构),是微软的.NET框架(共通语言运行平台)的一个源码共用的实现架构,可运行于Windows XP,FreeBSD,和Mac OS X10.2。

Mono是一个开源的.NET运行时和开发库实现版本。Mono现正由xamarin公司和开源软件发展社区负责开发。它正迅速发展成熟,现已经包含了对ASP.NET和ADO.NET的支持,对Windows Forms库的支持也较充分。它提供了一个C#编译器,而一个VB.NET编译器现在也已经处于pre-beta阶段。Mono项目还包含了一些新的库和技术的开发:

DotGNU—Portable.NET不及Mono成熟,这得归因于Portable.NET并不是在最初的时候就使用了微软的开发框架。提供了一个可以从C编译到通用中间语言的编译器。

参考文献

?i

参见

C#

VB.NET

ASP.NET

AJAX

COM Interop

Windows API

.NET Compact Framework

.NET Micro Framework

 


免责声明:以上内容版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。感谢每一位辛勤著写的作者,感谢每一位的分享。

——— 没有了 ———
编辑:阿族小谱

相关资料

展开

更多文章

更多精彩文章
评论 {{commentTotal}} 文明上网理性发言,请遵守《新闻评论服务协议》
游客
发表评论
  • {{item.userName}} 举报

    {{item.content}}

    {{item.time}} {{item.replyListShow ? '收起' : '展开'}}评论 {{curReplyId == item.id ? '取消回复' : '回复'}}

    回复评论
加载更多评论
打赏作者
“感谢您的打赏,我会更努力的创作”
— 请选择您要打赏的金额 —
{{item.label}}
{{item.label}}
打赏成功!
“感谢您的打赏,我会更努力的创作”
返回
打赏
私信

推荐阅读

· VisualBasic.NET
数据类型与字面常量表示VB.Net的数据类型,实际上是.NetFramework定义的数据类型。此外,还有SByte、UShort、UInteger、ULong等无符号数据类型。&O123表示八进制;&H123表示十六进制。语法特性VB使用的名字是大小写不敏感的。但是,CLR是大小写敏感的。所以建议保持一致的大小写。空值VB自版本5以后的数据类型来源于COM,而其根源是OLE数据类型。Nothing(C#的null)表示Object类型的变量(即COM中的IDispatch指针,VB中的所有类和控件均由IDispatch派生)为空。对于引用型变量,表示未绑定到一个物理实体对象。Empty表示VARIANT类型变量未初始化(即COM中的VARIANT结构体中的VT成员值为VT_EMPTY)。Null表示VARIANT类型变量已初始化,其值为Null,这时COM中的VARIANT结构体中的VT...
· ASP.NET
发展缘起ScottGuthrieASP.NET的前身ASP技术,是在IIS2.0上首次推出(WindowsNT3.51),当时与ADO1.0一起推出,在IIS3.0(WindowsNT4.0)发扬光大,成为服务器端应用程序的热门开发工具,微软还特别为它量身打造了VisualInterDev开发工具,在1994年到2000年之间,ASP技术已经成为微软推展WindowsNT4.0平台的关键技术之一,数以万计的ASP网站也是这个时候开始如雨后春笋般的出现在网络上。由于它的简单以及高度客制化的能力,也是它能迅速窜起的原因之一。不过ASP的缺点也逐渐的浮现出来:意大利面型的程序开发方法,让维护的难度提高很多,尤其是大型的ASP应用程序。直译式的VBScript或JScript语言,让性能有些许的受限。延展性因为其基础架构扩充性不足而受限,虽然有COM组件可用,但开发一些特殊功能(像文件上传)时,没...
· CSS框架
参见浏览器引擎CSS支援比较
· PrototypeJavaScript框架
应用范例$()函数例如:document.getElementById("id_of_element").style.color="#ffffff";在使用prototype.js的$()函数之后,可被简化为:$("id_of_element").setStyle({color:"#ffffff"});
· Web应用框架
种类模型-视图-控制器(MVC(Modelviewcontroller))许多框架遵循模型-视图-控制器(MVC)体系模型的结构模式,使数据模型与用户界面分开。这被普遍认为是一个很好的做法,因为它模块化的代码,能提高代码的重复使用,并允许多个接口。在Web应用中,这允许不同的应用方面,如网页,远程应用程序和Web服务接口。MVC是业界比较认可的架构模型。三部分组织组织模式在这种组织模式中,应用程序创建在三个部分:客户端,应用程序和数据库。数据库通常是一个RDBMS。而客户端指的是由Web应用程序生成的HTML,在用户的浏览器运行。应用程序运行在服务器上。内容管理系统(CMS)指的是一种内容编辑程序。就像在博客写文章一样,不需要懂得编程的人,也可以通过CMS发布,更改,管理内容。特点网页模版系统更多资料:en:Webtemplatesystem网页缓存更多资料:en:Webcache安全性数...

关于我们

关注族谱网 微信公众号,每日及时查看相关推荐,订阅互动等。

APP下载

下载族谱APP 微信公众号,每日及时查看
扫一扫添加客服微信