.NET Framework
维库,知识与思想的自由文库
| .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 包含许多有助于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 版本以来的改进
- 内建了对 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日。
- The 2.0 Redistributable Package 免費下載 Microsoft。
- The 2.0 Software Development Kit 免費下載 Microsoft。
- 這些元件都包含在 Visual Studio 2005 和 SQL Server 2005 裡面。測試版免費下載 http://msdn.microsoft.com/getthebetas/ 通过MSDN宇宙版可以免费下载RTM版本。
[编辑] 自 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月,微軟、惠普和英特爾共同制定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平台编程语言
- C#,一个以C++和Java语法为基础开发的一个全新的物件導向語言,是.NET开发的首选语言。
- Visual Basic .NET,一个加强了物件導向支持的,支持多线程的Visual Basic版本。
- C++/CLI,一个C++的 .NET 平台版本变种。
- JScript .NET,一个编译版本的 MicrosoftJScript语言。
- J#,一个对应于Java和 J++(微软自己开发的Java变种)的 .NET 平台版本。
[编辑] 第三方使用 .NET 的编程語言
- Ada,参阅A#。
- APL
- Boo,基于Python。
- COBOL
- Component Pascal,基于部件的 Pascal,比起Pascal来更接近于Oberon。
- Delphi 8 and Delphi 2005
- Eiffel
- F#,ML语言家族的一员。
- Forth
- FORTRAN
- IKVM,Java。
- IronPython,基于Python。
- Lexico,基于西班牙语的面向对象编程语言。
- Lisp
- Mercury
- Mondrian为了便于脚本部件编程而开发的功能型语言。
- Nemerle函数式/指令式混合语言。
- Oberon
- Perl
- Python
- PHP
- RPG
- Ruby
- Smalltalk
[编辑] ASP.NET & ADO.NET
[编辑] 可供选择的实现版本
微软的 .NET Framework 是 .NET 技术的旗舰级实现版本,在此之外还有一些其它实现版本。
- 微软的Shared Source Common Language Infrastructure是微软的 .NET Framework 的一个源码共享的实现版本。它可运行于Windows XP,FreeBSD,和Mac OS X10.2。
- Mono是一个开源的 .NET 运行时和开发库实现版本。Mono 现正由Ximian(Novell的一部分)和开源软件开发社区负责开发。它正迅速发展成熟,现已经包含了对 ASP.NET 和 ADO.NET 的支持,同时也正在加强对Windows Forms库的支持。它提供了一个 C# 编译器,而一个 VB.NET 编译器现在也已经处于 pre-beta 阶段。Mono 项目还包含了一些新的库和技术的开发:
- Gtk#: 一个GTK+GUI工具包的 .NET 封装。
- xSP: 一个用 C# 编写的支持运行 ASP.NET 应用程序的网页服务器软件。
- MonoDevelop:SharpDevelop的一个移植版本, 是一个符合GPL标准的面向 Gtk# 和 Mono 的 .NET 集成开发环境。
- Novell.Directory.Ldap 类库:Lightweight Directory Access Protocol(LDAP) for .NET 的一个免费的实现版本。
- SerialPortNet: Aserial portlibrary for .Net & Mono implementing .NET 2.0 specifications.
- DotGNUPortable.NET不及 Mono 成熟,这得归咎于 Portable.NET 并不是在最初的时候就使用了微软的开发框架。
[编辑] 外部链结
- 微软公司 .NET Framework 的主页。
- 中国著名的 .NET 开发 Blog 站点博客堂。
- 中国专注于 .NET 技术的 Blog 站点博客园。
- 微软 MSDN 关于 .NET Framework 的*入门概述
- 微软公司的官方 .NET 资源
|
|
|
|---|---|
| 工业编程语言 | A+ - ActionScript - Ada - 汇编语言 - B - Brainfuck - COBOL - Curl - D - Delphi - Eiffel - Erlang - FORTRAN - IronPython - Java - JavaScript - JScript - Jython - LISP - Lua - MATLAB - MATHEMATICA - Nuva - Oberon - OCaml - Pascal - Perl - PHP - PostScript - Powerbuilder - Python - R - REXX - Ruby - Self - Smalltalk - SQL - Tcl/Tk - C# - F# - J# - Microsoft Visual C# |
| C/C++语言 | C - C++ - C++/CLI - Objective-C - Microsoft Visual C++ |
| BASIC语言 | BASIC - BASICA - GW-BASIC - QBASIC - QuickBASIC - True BASIC - Turbo BASIC - PowerBASIC - DarkBASIC -ETBASIC Visual Basic .NET - Visual Basic - VBScript - VBA |
| GPU用著色器語言 | Cg - GLSL - HLSL |
| 学术编程语言 | APL/J - Haskell - Logo - ML - Prolog - Scheme - SAC |
| 其他编程语言 | ALGOL - Clipper - Forth - Modula-2/Modula-3 - MUMPS - PL/I - Simula |
| 微软公司 | |
|---|---|
| 桌面软件: | Windows (Windows歷史) • Office • Dynamics • Visual Studio • Money • Encarta • Expression |
| 服务器软件: | Windows Server • SQL Server • IIS • Exchange • BizTalk • Commerce • ISA Server • Systems Management |
| 技术: | 活动目录 • DirectX • .NET • Windows Media • PlaysForSure |
| 网络: | Windows Live • Office Live • MSNBC • ninemsn • MSN • Hotmail • Live Messenger • Spaces • Groups • Live ID • Ignition • CodePlex |
| 游戏: | Microsoft Game Studios • Zone • XNA • Xbox • Xbox 360 (Elite) • Xbox Live (Arcade • Marketplace) • Games for Windows (Live) • Live Anywhere • 帝国时代 • 微軟模擬列車 • 微軟模擬飛行 |
| 硬件: | Surface • Zune • MSN TV • 微软自然键盘 • IntelliType • IntelliPoint • LifeCam • LifeChat • SideWinder • 超级移动电脑 • Fingerprint • Audio System |
| 教育与认证: | 微软认证 • 微软开发者网络 • 微软教育联盟计划 • 微软签约授权 • 微软出版社 • 微软最有价值专家 • 微软创新联盟 |
| 董事会成员 | 巴尔默 • 凯什 • 杜伯伦 • 盖茨 • 吉尔玛特 • 哈斯廷斯 • 马夸特 • 诺斯基 • 庞克 • 雪利 |




