首页 | 主题 | 图库 | 问答 | 文摘 | 原创 | 百科

历史 | 地理 | 人物 | 艺术 | 体育 | 科学 | 音乐 | 电影 | 信息技术 | 世界遗产

 开放、中立,源自维基百科

个人工具


用搜狗搜索相关网站  Google Search

.NET Framework

维库,知识与思想的自由文库

(重定向自Microsoft .NET)
跳转到: 导航, 搜索

.NET Framework
开发者 Microsoft
最新穩定版 Version 3.0 / 2006年11月6日
最新测试版 3.5 Beta 1 / 2007年4月27日
操作系统 Windows XPSP2或以上版本
类型 系统平台
许可协议 Proprietary software
www.microsoft.com/net/

微软开发的 .NET Framework 是一个致力于敏捷軟體開發(RAD)、平台无关性网络透明化软件开发平台。.NET 在微软战略上为下一个十年服务器桌上型软件工程迈出的第一步。据微软声称,.NET 包含许多有助于InternetIntranet应用迅捷开发的技术。

.NET Framework 是微软公司继 WindowsDNA 之后的新开发平台。.NET Framework 是以一种采用类似Java系统虚拟机方式运行和管理的编程平台,以通用语言运行时(Common Language Runtime)为基础,支持多种语言(C#VB.NETC++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 版本以来的改进
  • 内建了对 mobile ASP.NET 控件的支持。这在 1.0 版本是以附加功能方式实现的,现在已经集成到框架的内部。
  • 安全方面的变更 - 使得 Windows 窗体代码以可靠的行为执行,从而可以在 Internet 环境内安全运行,并且加入了 ASP.NET 应用程序的代码安全访问功能。
  • 内建了对 ODBC 和 Oracle 数据库的支持。这在 1.0 版本是以附加功能方式实现的,现在已经集成到框架的内部。
  • .NET Compact Framework- 这是一个用于智能设备(例如Pocket PC或者SmartPhone)的 .NET 框架的子集。
  • IPv6的支持。
  • 大量的 API 变更。如需要详细的变更列表,请查阅 GotDotNet: API Changes between versions of the .NET Framework

[编辑] .NET Framework 2.0

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

[编辑] 自 1.1 版本以来的改进
  • 大量的 API 变更。需要查看一个详细的清单的话,请查阅 GotDotNet: API Changes between versions of the .NET Framework
  • 一个新的 API 让需要管理一个 .NET 运行库实例的非 .NET 的应用程序可以做到这点。这个新的 API 对 .NET 运行库的各种功能,包括:多线程,内存分配,代码载入等 (详细说明) 提供了很好的控制。它最初是为Microsoft SQL Server能够有效率的使用 .NET 运行库而设计的,因为Microsoft SQL Server拥有它自己的日程管理器和内存管理器。

[编辑] .NET Framework 3.0

曾用名WinFX。依然使用.NET Framework 2.0版本的CLR(公共语言运行时),并加入了适应未来软件发展方向的4个框架:

  • WPF(Windows Presentation Foundation): 提供更佳的用户体验, 用来开发Windows Forms程序以及浏览器应用程序(参见WPF/E).
  • WCF(Windows Communication Foundation): 提供SOA(面向服务的软件构架)支持的安全的网络服务(Web Service)框架.
  • WF(Workflow Foundation).
  • InfoCard.

[编辑] .NET Framework 3.5

現時事件圖示 本文或本章节包含被计划或者期待发布的未来软件
随着软件发布日期的临近或者更多信息的发布,文章的内容可能大幅变动。
軟體開發

这个版本将包含一个支持C#和VB.Net中心的语言特性的编译器,以及对语言无关查询的支持。该版本预定和Visual Studio 2005的下一个版本Orcas一起发布。

企業基礎 .NET提供開發軟體的獨立平台,內建高度安全的網絡系統,相當倚重軟體元件以及元件導向程式。在這方面它完全取代前者(COM)


.NET的初級組成是CLI和CLR。CLI是一套運作環境說明,包括一般系統、基礎类库和与机器无关的中间代碼,全称为通用中间语言(CLI)。CLR則是確認操作密碼符合CLI的平台。在CIL執行前,CLR必須將指令及時編譯轉換成原始機械碼。

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

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

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

通过.NET,你可以用SOAP和不同的Web services进行交互。

[编辑] 标准化和版权

2000年8月微軟惠普英特爾共同制定CLIC#程式語言的標準規格。2001年12月,以上兩者通過並成為ECMA標準規格。(ECMA 335ECMA 334)。ISO亦於2003年4月跟隨(ISO/IEC 23271ISO/IEC 23270)。

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

儘管微軟及其他合作伙伴持有CLI及C#的專利,ECMA和ISO要求所有专利都应该遵守“合理与非歧视准则”。除此之外,这些公司亦同意讓使用者免費使用這兩項專利。

不過,這並不包括.NET Framework內並不為ECMA/ISO標準涵蓋的範圍,這包括了:Windows FormsADO.NETASP.NET。微軟對上述部件所持有的專利,使開發者未必能夠為非微軟平台開發出一套完整的作品。

[编辑] .NET vs. Java EE

公共语言基础(CLI),公共中间语言(CIL)以及 C# 与 Sun 的 Java 虚拟机和 Java 之间有不少的相似之处,因此它们无疑是强烈的竞争者。它们两者都使用它们各自的中间码(在微软,它们叫做公共中间语言(CIL),而在 Sun,它们叫字节码)。CIL 被设计来实时编译(JIT), 而 Java 的字节码在最初的时候则是设计成用于解释运行,而非实时编译。.NET 现在只在 Windows 上被完美地支持,而 Java 则可在很多平台上被完好支持。然而,现在一些正在开发中的实现版本例如Mono或者Shared source CLI可以用于在类 Unix 操作系统例如LinuxFreeBSDMac 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

不要將網域名稱.com.net與這裡的.COM.NET混淆在一起.

前一版軟體元件技術由 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

  • ASP.NET是傳統ASP(Active Server Page)的.NET版本, 包含一組.NET類別庫, 所有.NET語言皆可編寫ASP.NET。
  • ADO.NETADO(ActiveX Data Object)的.NET版本, 大量地使用XML

[编辑] 可供选择的实现版本

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

  • Mono是一个开源的 .NET 运行时和开发库实现版本。Mono 现正由XimianNovell的一部分)和开源软件开发社区负责开发。它正迅速发展成熟,现已经包含了对 ASP.NET 和 ADO.NET 的支持,同时也正在加强对Windows Forms库的支持。它提供了一个 C# 编译器,而一个 VB.NET 编译器现在也已经处于 pre-beta 阶段。Mono 项目还包含了一些新的库和技术的开发:
  • DotGNUPortable.NET不及 Mono 成熟,这得归咎于 Portable.NET 并不是在最初的时候就使用了微软的开发框架。

[编辑] 外部链结

其它语言
AD Links