也许 .NET 最独特的属性是它的多语言支持。Microsoft 已经为 .NET Framework 发布了四种商业语言:Visual C#? .NET、Visual Basic? .NET、C++ 托管扩展及 Visual J# .NET。许多其他兼容 .NET 的语言也正在开发中,其中包括 Perl、Python 及 COBOL。
为了帮助创建兼容 .NET Framework 的语言,Microsoft 设计了公共语言规范 (CLS)。每种语言要使用 .NET Framework 和公共语言运行库,以及与用其他语言编写的组件进行互操作,就必须提供 CLS 所描述的功能。如果一种语言实现了必需的功能,那么它就被称为兼容 .NET。每种兼容 .NET 的语言都支持相同的数据类型,使用相同的 .NET Framework 类,编译为相同的 MSIL,并且使用相同的公共语言运行库管理执行过程。因此,各种兼容 .NET 的语言之间没有优劣之别。开发人员可以自由地为特定的组件选择最好的语言同时又不损失该平台的能力和自由度。另外,使用一种语言编写的组件也能够很容易地 与用另外一种语言编写的组件进行互操作。例如,您可以用 C# 编写一个从用 Visual Basic 编写的基类继承而来的类。CLS 已经被提交给 ECMA 进行标准化,这鼓励许多语言开发人员为许多语言创建兼容 .NET 的版本。在撰写本文时有 20 多种兼容 .NET 的语言正在开发中。
图 1 展示了在操作系统之上的各种 .NET 组件。.NET Framework 由四个蓝框组成,这些蓝框分别代表 ASP.NET、Windows 窗体、ADO.NET 和 XML 以及子组件。
图 1:.NET Framework 体系结构 Visual Studio .NET
为了能够进行 .NET 开发,Microsoft 重新编写了其开发工具并重新将其组合为 Visual Studio .NET。Visual Studio .NET 支持使用一种或多种语言开发应用程序。设计、开发、调试和部署 .NET 组件均使用同一个集成开发环境 (IDE)。
这个开发环境支持控制台应用程序、Windows 应用程序、DLL、Web 应用程序、XML Web Service 以及手持设备应用程序的开发。该开发环境提供了一些独特的高生产率功能:智能感知;针对 Web 窗体、Windows 窗体、XML 架构及数据的可视化设计器;可以无缝地从用一种语言编写的代码转到用另一种语言编写的代码的跨语言调试器;与 .NET Framework 的紧密集成;能在键入时持续提供上下文相关帮助的动态帮助;显示编译器错误以及任务的任务列表;体系结构设计功能,例如 Visio 集成,以及用于可视化访问数据库的服务器资源管理器、Windows 服务、性能计数器和服务器端应用程序组件。
Microsoft Visual Studio .NET 是一个获奖的开发工具。到撰写本文时,Visual Studio .NET 已经获得了多种奖项,其中包括两次 2002 SD Magazine 效率奖和 PC Magazine 的 2001 年度卓越技术奖(尽管该产品当时仍处于 Beta 阶段)。