.NET Framework
维库,知识与思想的自由文库
由微软开发的 .NET Framework 是一个致力于敏捷軟體開發(RAD)、平台无关性和网络透明化的软件开发平台。.NET 在微软战略上为下一个十年对服务器和桌上型软件工程迈出的第一步。据微软声称,.NET 包含许多有助于Internet和Intranet应用迅捷开发的技术。 .NET Framework 是微软公司继 WindowsDNA 之后的新开发平台。.NET Framework 是以一种采用类似Java系统虚拟机方式运行和管理的编程平台,以通用语言运行时(Common Language Runtime)为基础,支持多种语言(C#、VB.NET、C++、Python等)的开发。 .NET 也为编程接口(API)提供了新功能和开发工具。这些革新使得程序设计员可以同时进行Windows应用软件和网络应用软件以及组件和服务(web service)的开发。.NET 提供了一个新的反射性的且面向对象的编程接口。 .NET 设计得足够通用化从而使许多不同高级语言都得以被汇集。 .NET 平台是Sun公司的Java 编程语言和Java 2 Platform, 企业版技术的竞争对手之一,它们有很多概念也是互通的。
[编辑] 版本[编辑] .NET Framework 1.0完整版本号 - 1.0.3705 这是最初的 .NET 构架,发行于2002年。它可以以一个独立的可重新分发的包的形式或在一个软件开发工具包集中被获得。它也是第一个微软Visual Studio .NET的发行版的一部分(也被称作 Visual Studio .NET 2002)。 [编辑] .NET Framework 1.1完整版本号 - 1.1.4322 这是首个主要的.NET 框架升级版本,发行于2003年。它可以以一个独立的可重新分发的包的形式或在一个软件开发工具包集中被获得。它也是第二个微软Visual Studio .NET版本的一部分(也被称作Visual Studio .NET 2003)。它也是首个被Windows作業系統-Windows Server 2003所内置的 .NET 框架版本。 [编辑] 自 1.0 版本以来的改进
[编辑] .NET Framework 2.0完整版本号 - 2.0.50727.42 发行于2005年10月27日。
[编辑] 自 1.1 版本以来的改进
[编辑] .NET Framework 3.0曾用名WinFX。依然使用.NET Framework 2.0版本的CLR(公共语言运行时),并加入了适应未来软件发展方向的4个框架:
[编辑] .NET Framework 3.5这个版本将包含一个支持C#和VB.Net中心的语言特性的编译器,以及对语言无关查询的支持。该版本预定和Visual Studio 2005的下一个版本Orcas一起发布。 企業基礎 .NET提供開發軟體的獨立平台,內建高度安全的網絡系統,相當倚重軟體元件以及元件導向程式。在這方面它完全取代前者(COM)
所有CIL都可經由.NET自我表述。CLR检查元数据以确保正确的方法被调用。元数据通常是由语言编译器生成的,但开发人员也可以通过使用客户属性创建他们自己的元数据。 如果一种语言实现生成了CLI,它也可以通过使用CLR被调用,这样它就可以与任何其它.NET语言生成的数据相交互。CLR也被设计为操作系统无关性。 当一个汇编体被载入时,CLR执行各种各样的测试。其中的两个测试是确认与核查。在确认的时候,CLR检查汇编体是否包含有效的元数据和CIL,并且检查内部表的正确性。核查则不那么精确。核查机制检查代码是否会执行一些‘不安全’的操作。核查所使用的算法非常保守,导致有时一些‘安全’的代码也通不过核查。不安全的代码只有在汇编体拥有‘跳过核查’许可的情况下才会被执行,通常这意味着代码是安装在本机上的。 通过.NET,你可以用SOAP和不同的Web services进行交互。 [编辑] 标准化和版权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 Framework內並不為ECMA/ISO標準涵蓋的範圍,這包括了:Windows Forms、ADO.NET及ASP.NET。微軟對上述部件所持有的專利,使開發者未必能夠為非微軟平台開發出一套完整的作品。 [编辑] .NET vs. Java EE公共语言基础(CLI),公共中间语言(CIL)以及 C# 与 Sun 的 Java 虚拟机和 Java 之间有不少的相似之处,因此它们无疑是强烈的竞争者。它们两者都使用它们各自的中间码(在微软,它们叫做公共中间语言(CIL),而在 Sun,它们叫字节码)。CIL 被设计来实时编译(JIT), 而 Java 的字节码在最初的时候则是设计成用于解释运行,而非实时编译。.NET 现在只在 Windows 上被完美地支持,而 Java 则可在很多平台上被完好支持。然而,现在一些正在开发中的实现版本例如Mono或者Shared source CLI可以用于在类 Unix 操作系统例如Linux,FreeBSD和Mac OS X上运行 .NET 应用程序。Sun 的一个产品,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 Framework。廠商通常利用這個機會來同時改變語言的其他特性。 [编辑] 微软开发的.NET平台编程语言
[编辑] 第三方使用 .NET 的编程語言
[编辑] ASP.NET & ADO.NET[编辑] 可供选择的实现版本微软的 .NET Framework 是 .NET 技术的旗舰级实现版本,在此之外还有一些其它实现版本。
[编辑] 外部链结
| ||||||||||||||||||||||||||||||||||||||||||||||||||||


