Microsoft .NET Framework是用于Windows的新托管代码编程模型。它将强大的功能与新技术结合起来,用于构建具有视觉上引人注目的用户体验的应用程序,实现跨技术边界的无缝通信,并且能支持各种业务流程。
.NET Framework 提供的用于运行应用的服务包括:
内存管理。 在许多编程语言中,程序员负责分配和释放内存并处理对象生存期。 在 .NET Framework 应用中,CLR 代表应用提供这些服务。
常规类型系统。 在传统编程语言中,基本类型由编译器定义,这将使跨语言互操作性复杂化。 在 .NET Framework 中,基本类型由 .NET Framework 类型系统定义,并且是面向 .NET Framework 的所有语言所共有的。
一个全面的类库。 处理常见的低级编程操作时,程序员可通过 .NET Framework 类库使用类型及其成员的易访问库,而不必编写大量代码。
开发框架和技术。 .NET Framework 包括用于特定区域应用开发的库,例如用于 Web 应用的 ASP.NET、用于数据访问的 ADO.NET、用于面向服务的应用的 Windows Communication Foundation,以及用于 Windows 桌面应用的 Windows Presentation Foundation。
语言互操作性。 面向 .NET Framework 的语言编译器发出名为公共中间语言 (CIL) 的中间代码,反过来,通过公共语言运行时在运行时进行编译。 借助此功能,使用某种语言编写的例程可由另一种语言访问,程序员可以专注于使用其首选语言创建应用。
版本兼容性。 除少数例外,使用特定版本的 .NET Framework 开发的应用无需在更高版本中修改即可运行。
并行执行。 通过允许同一台计算机上存在公共语言运行时的多个版本,.NET Framework 可帮助解决版本冲突。 这意味着应用的多个版本可以共存,并且应用可在构建它的 .NET Framework 版本上运行。 并行执行适用于 .NET Framework 版本组 1.0/1.1、2.0/3.0/3.5 和 4/4.5.x/4.6.x/4.7.x/4.8。
多定向。 通过面向 .NET Standard,开发人员可创建适用于该标准版本支持的多种 .NET Framework 平台的类库。 例如,面向 .NET Framework 4.6.1、NET Core 2.0 和 UWP 10.0.16299 的应用可以使用面向 .NET Standard 2.0 的库。
.NET Framework 体系结构中各部分:
1) 编程语言
在 .NET Framework 框架中支持的编程语言包括 C#、VB、C++、J# 等, 但目前使用最多的是 C# 语言。
正是由于在 .NETFramework 中支持多种编程语言,因此 .NET Framework 也配备了对应的编译器。
2) CLS
CLS(Common Language Specification, 公共语言运行规范)定义了一组规则,即可以通过不同的编程语言(C#、VB、J# 等)来创建 Windows 应用程序、ASP.NET 网站程序以及在 .NET Framework 中所有支持的程序。
3) .NET Framework 类库(Framework Class Library, FCL)
在 FCL 中包括 Windows Forms (Windows 窗体程序)、ASP.NET(网站程序)、WPF(Windows 的界面程序的框架)、 WCF(Windows 平台上的工作流程序)等程序所用到的类库文件。
4) CLR
CLR 是 .NET Framework 的基础。用户可以将 CLR 看作一个在执行时管理代码的代码,它提供内存管理、线程管理和远程处理等核心服务,并且还强制实施严格类型安全以及可提高安全性和可靠性的管理。
它与 Java 虚拟机类似。以公共语言运行库为目标的代码称为托管代码,不以公共语言运行库为目标的代码称为非托管代码。
5) OS
操作系统(Operating System, OS)在目前的 .NET Framework 中仅支持在 Windows 上使用,在后续的版本中将支持在 Linux 和 Mac 操作系统上使用。
.NET Framework 的特点:
1、提供标准的面向对象开发环境。
2、提供优化的代码执行环境,具有良好的版本兼容性,并允许在同一台计算机上安装不同版本的 .NET Framework。
3、使用 JIT(Just In Time)技术,提高代码的运行速度。