.NET Framework
维基百科,自由的百科全书
.NET Framework |
|
---|---|
开发者 | Microsoft |
最新版 | 3.5.21022.8 / 2007年11月19日 |
操作系统 | Windows XPSP2或以上版本 |
类型 | 系统平台 |
许可协议 | Proprietary software |
网站 | www.microsoft.com/net/ |
由微软开发的 .NET Framework 是一个致力于敏捷軟體開發(en:Agile_software_development?)、快速应用开发?(en:Rapid_application_development)(原文为:敏捷軟體開發(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
发布日期2006/11/21。曾用名WinFX。依然使用.NET Framework 2.0版本的CLR(公共语言运行时),并加入了适应未来软件发展方向的4个框架:
- WPF(Windows Presentation Foundation): 提供更佳的用户体验, 用来开发Windows Forms程序以及浏览器应用程序(参见WPF/E).
- WCF(Windows Communication Foundation): 提供SOA(面向服务的软件构架)支持的安全的网络服务(Web Service)框架.
- WWF(Windows Workflow Foundation)
- InfoCard.
[编辑] .NET Framework 3.5
这个版本将包含一个支持C#和VB.Net中心的语言特性的编译器,以及对语言无关查询的支持。该版本随Visual Studio 2008一起发布。
企業基礎 .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 资源
[编辑] 非官方
|
|
---|---|
工业编程语言 | A+ - ActionScript - Ada - 汇编语言 - B - Brainfuck - COBOL - Curl - D - Eiffel - Erlang - FORTRAN - IronPython - Java - JavaScript - JScript - Jython - LISP - Lua - SCILAB - MATLAB - MATHEMATICA - Nuva - Oberon - OCaml - Perl - PHP - PostScript - Powerbuilder - Python - R - REXX - Ruby - Self - Smalltalk - Tcl/Tk - C# - F# - J# - Microsoft Visual C# |
C/C++语言 | C - C++ - Turbo C++ - Borland C++ - C++ Builder- 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 |
Pascal/Delphi语言 | Pascal語法:(Pascal - Turbo Pascal - Object Pascal - Free Pascal) Pascal+Delphi語法:(Delphi) |
GPU用著色器語言 | Cg - GLSL - HLSL |
学术编程语言 | APL/J - Clean - Haskell - Logo - ML - Prolog - Scheme - SAC |
資料庫相關编程语言 | Clipper - Visual FoxPro - SQL - SQL預存程序 |
其他编程语言 | ALGOL - Forth - Modula-2/Modula-3 - MUMPS - PL/I - Simula |
|
|
---|---|
核心组件 | Aero · ClearType · 桌面视窗管理员 · DirectX · 檔案總管 · 任务栏 · 开始选单 · Shell (namespace · Special Folders · File associations) · 搜索 (Saved search · iFilters) · 图形设备接口 · WIM · Next Generation TCP/IP stack · .NET Framework · Audio · Printing (XPS) · WSH (VBScript · JScript) · 组件对象模型 (OLE · OLE Automation · DCOM · ActiveX · Structured storage · MTS |
基本應用程式 | 备份与还原中心 ·小算盤 ·行事曆 ·字符映射表 ·Cmd.exe ·連絡人 ·控制面板 (Applets) ·设备管理器 ·磁碟清理 ·磁碟重組工具 ·Windows DVD 製作程式 ·Event Viewer ·Fax and Scan ·Internet Explorer ·Journal ·Mail ·Outlook Express · Magnifier ·Management Console ·Media Center ·会议空间 ·Mobile Device Center ·Mobility Center ·Movie Maker ·Narrator ·记事本 ·画图 ·Windows相片圖庫 ·PowerShell ·TrueType 造字程式 ·問題報告及解決方案 ·遠端桌面協定 ·侧边栏 ·剪取工具 ·录音机 ·Sysprep ·System Configuration ·System File Checker ·系统还原 ·Unix subsystem · Windows Installer ·Windows Media Player ·Windows Speech Recognition ·任务管理器 ·Windows Update ·写字板 ·WinSAT ·Windows Messenger |
内核 | Ntoskrnl.exe ·hal.dll ·System idle process ·注册表 ·Svchost.exe ·Windows service ·Service Control Manager ·WOW ·WOW64 ·DLL ·EXE ·NTLDR ·Boot Manager ·Winlogon ·Recovery Console ·I/O ·WinRE ·Windows預先安裝環境 ·Kernel Patch Protection |
服务 | Autorun ·BITS ·Task Scheduler ·Wireless Zero Configuration ·磁碟區陰影複製服務 ·Windows Error Reporting ·Multimedia Class Scheduler ·CLFS |
檔案系統 | NTFS (Hard link ·Junction point ·Mount Point ·Reparse point ·Symbolic link ·TxF ·EFS) ·FAT32·FAT16·FAT12 ·exFAT ·CDFS ·通用光碟格式 ·DFS ·IFS |
服务器端 | Domains ·活动目录 ·DNS ·Group Policy ·Roaming user profiles ·Distributed Transaction Coordinator ·MSMQ ·SharePoint Services ·Windows Media Services ·Rights Management Services ·IIS ·Terminal Services ·WSUS · 网络访问保护技术 ·DFS Replication ·Remote Differential Compression ·Print Services |
架构 | NT series architecture · Object Manager · Startup process (Vista) · I/O RP · Kernel Transaction Manager · 邏輯磁碟管理工具 · Security Accounts Manager · Windows Resource Protection · LSASS · CSRSS · SMSS |
安全 | 使用者帳戶控制 · BitLocker · Defender · 資料執行防止 · Protected Media Path · Mandatory Integrity Control · UIPI · 防火牆 · 資訊安全中心 |
遊戲 | Chess Titans · 空当接龙 · 傷心小棧 · 德州撲克 · 筆跡球 · Mahjong Titans · 踩地雷 · Purble Place · 接龍 · 連環新接龍 |
|
|
---|---|
桌面软件 | Windows (Windows歷史) · Office · Internet Explorer · Dynamics · Visual Studio · Money · Encarta · Microsoft Student · 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 |
教育与认证 | 微软认证 ·微软开发者网络 ·微软教育联盟计划 ·微软签约授权 ·微软出版社 ·微软最有价值专家 ·微软创新联盟 |
许可证 | 客户端访问许可 · 共享原始碼 |
董事会成员 | 巴尔默 · 凯什 · 杜伯伦 · 盖茨 · 吉尔玛特 · 哈斯廷斯 · 马夸特 · 诺斯基 · 庞克 · 雪利 |