DOTNET框架基本原理.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
.NET是微软推出的第三代网络平台。它激发了新的程序开发方式,在新的架构中,.NET强调语言归语言,系统归系统,在平台上推出新的 .NET Framework(.NET框架),通过一致的 Common Language Runtime 执行应用程序。 .NET架构 1、将源代码编译成托管模块 ?.NET框架的核心是通用语言运行时(Common Language Runtime,简称CLR),顾名思义它是一个可被各种不同的编程语言所使用的运行时。实际上,CLR在运行时对开发人员用何种编程语言来完成源代码一无所知;也就是说我们可以使用任何自己喜欢的编程语言来编写代码(我们使用的编译器能编译面向CLR的代码)。 编译器可以看作是一个语法检查器和“正确代码”的分析器。它们对我们的源代码进行检查,确保我们编写的所有东西有意义,最后输出描述我们意图的指令序列。 下图演示了源代码文件的编译过程: 不管我们使用的是何种编译器,最后生成的都是一个托管模块(managed module)。托管模块是一个需要CLR才能执行的标准Windows可移植可执行(portable executable,简称PE)文件。 表:托管模块的组成部分 2、将托管模块组合为程序集 实际上,直接和CLR打交道的对象是程序集(assembly)。它由一个或多个托管模块,以及一些资源文件的逻辑组合,是组件复用及实施安全策略和版本控制的最小单位。程序集可以是一个或多个文件。 默认情况下,编译器会将产生的托管模块转换为一个程序集。也就是说,C#编译器产生的是一个包含了清单(manifest)的托管模块。清单仅仅是另外一些元数据表的集合。这些表描述了组成程序集的文件,程序集所有文件中实现的仅有导出类型,以及一些和程序集相关的资源文件或数据文件。 程序集中的模块也包含它所引用的程序集的一些信息。这些信息使得一个程序集得以实现自描述(self-describing)。换句话说,CLR知道执行一个程序集所需要的所有内容,不需要再在注册表或活动目录中获取额外的信息。 3、加载通用语言运行时 4、执行程序集代码 5、.NET框架类库 在.NET框架中包括有一组.NET框架类库(Framework Class Library,简称FCL)程序集,其中含有几千个类型的定义,每个类型提供某种功能;相关的类型放在一个由命名空间(namespace)组织的集合中提供给开发人员。 .NET框架类库是一个由.NET Framework SDK中包含的类、接口和值类型组成的库。该库提供对系统功能的访问,是建立.NET Framework应用程序、组件和控件的基础。 6、通用类型系统 大家应该很清楚CLR的所有内容都是围绕着类型展开的。类型为应用程序和组件提供了它们所需要的功能类型也作为一种机制使得不同语言之间的代码进行无缝地集成。由于类型是CLR的基础,Microsoft为此专门制定了一个正式的规范——通用类型系统(Common Type System,简称CTS)来描述类型的定义和行为。 7、通用语言规范 大家清楚各种编程语言之间有着很大的差别,如果希望创建的类型可以被其他编程语言方便地访问,只能使用编程语言中那些对其他语言来说也可用的特性。为了解决这一问题,Microsoft定义了一个通用语言规范(Common Language Specification,简称CLS),该规范为编译器厂商详细描述了面向CLR的编译必须支持的一个最小特性的集合。 8、与非托管模块互操作 .NET框架提供了许多较其他开发平台优越的特性。然而,很少有公司能够负担得起重新设计并实现所有现存代码。Microsoft意识到了这一点,并为此对CLR做了特殊的设计,从而使其允许应用程序同时包含托管和非托管部分。CLR支持三种互操作情形: .NET 技术——.NET框架开发平台体系架构 Windows COM+ Services 公共语言运行时(CLR) 基类库(Base Class Library) ADO.NET and XML ASP.NET Windows Forms 公共语言规范(Common Language Specification) VB C++ C# JScript … 编译器在编译源代码时产生的指令。CLR在运行时会将IL代码编译成本地CPU指令 中间语言(IL)代码 每个托管模块都包含有一些元数据表,描述源代码中定义/引用的类型和成员 元数据 包含托管模块所需要的CLR版本号、托管模块入口点方法(Main方法)的M

文档评论(0)

zhuliyan1314 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档