在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
.NET框架有两个主要部分组成:公共语言运行库(Common Language Runtime ,CLR)和.NET Framework类库。 .NET Framework的核心是其运行库的执行环境,称为公共语言运行库(CLR)或.NET运行库。可以看做一个在执行时管理代码的代理。它提供内存管理,线程管理, 和远程管理等核心服务,并且还强制实施严格的类型安全以及可提高安全性和可靠性的其他形式的代码准确性。 而代码管理又可以根据是否以运行库为目标分为两种:托管代码和非托管代码。 .NET框架的另一个组成部分是类库,它是一个综合性的面向对象的可重用类型集合。可以使用它快速开发多种应用程序。 一.公共语言运行库(CLR) 公共语言运行库(CLR)是托管代码的执行环境,也是.NET Framework的核心和基础。 基于公共语言运行库(CLR)开发的代码称为托管代码,托管代码需要经过两个编译阶段。 首先要把源代码编译成Microsoft中间语言(MSIL),接着CLR把MSIL编译成平台专用代码。 公共语言运行库(CLR)提供了安全的内存管理机制,它会自动处理对象布局并管理对象引用,当不再使用对象时释放它们。按这种方式实现生存期管理的对象称为托管数据。而垃圾回收消除了内存泄漏以及其他的一些常见的编程错误,因此,程序员不必过多的考虑如何安全的去分配使用内存。 MSIL(中间语言)利用实时(JIT)编译器完成编程成特定平台的代码。JIT将代码编译为本机代码前必须先对代码进行验证,除非管理员已经建立了允许代码跳过验证的安全策略。验证过程主要负责检查MSIL和元数据以确定代码是否是类型安全的。这意味着它仅能访问已被授权访问的内存位置。 那么运行库是判断代码是否为类型安全的呢? 首先,要求对类型的引用和被引用的类型严格兼容。其次,在对象上只调用正确定义的操作。再次,表示与声称的要求一致。 立即回收器(GC)完成.NET程序中的内存管理。对内存的管理分为内存的分配和内存的释放。 二.程序集 程序集是为了协同工作而生成的类型和资源的集合。这些类型和资源构成了一个逻辑功能单元。 程序集向CLR提供实现所需要的信息。对于CLR,类型必须处于程序集上下文中。 程序集是 .NET 框架应用程序的生成块;程序集构成了部署、版本控制、重复使用、激活范围控制和安全权限的基本单元。程序集是为协同工作而生成的类型和资源的集合,这些类型和资源构成了一个逻辑功能单元。程序集为公共语言运行库提供它要用于识别类型实现的信息程序集旨在简化应用程序部署并解决在基于组件的应用程序中可能出现的版本控制问题ms-help://MS.NETFrameworkSDK.CHS/cpguidenf/html/cpconwhyuseassemblies.htm 程序集可以是静态的或动态的。静态程序集可以包括 .NET 框架类型(接口和类),以及该程序集的资源(位图、JPEG 文件、资源文件等)。静态程序集以 PE 文件格式存储在磁盘上。您还可以使用 .NET 框架来创建动态程序集,动态程序集直接从内存运行并且在执行前不存储到磁盘上。您可以在执行动态程序集后将它们保存在磁盘上。
|
请发表评论