- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
运行时技术问题
什么是公共语言运行时(CLR)?
公共语言运行吋是.NET框架应用程序的执行引擎。
它提供许多服务,包括:
代码管理(加载和执行);应川程序内存隔离;类型安全验证;IL到本机代码的转;元数据 (增强的类型信息)访问;为托管对象管理内存;强制代码访问安全;异常处理,包括跨语 言异常;托管代码、COM对彖和现有DLL (非托管代码和数据)Z间的互操作;白动进 行对象布局;对开发人员服务(配置、调试等)的支持
什么是公共类型系统(CTS)?
公共类型系统是多信息类型系统,它被内置在公共语言运行时屮,支持大多数编程语言屮的 类型和操作。公共类型系统支持人量编程语言的完全实现。
什么是公共语言规范(CLS)?
公共语言规范是一组结构和限制,用作库编写者和编译器编写者的指南。它使任何支持CLS 的语言都可以完全使用库,并且使这些语言可以相互集成。公共语言规范是公共类型系统的 子集。对于那些需要编写代码供其他开发人员使用的应用程序开发人员,公共语言规范也非 常重要。如果开发人员遵循CLS规则来设计公共访问的API,那么就可以在支持公共语言 运行时的任何其他编程语言中很容易地使用这些API。
什么是Microsoft中间语言(MSIL)?
MSIL是与CPU无关的指令集。.NET框架程序被编译成MSILo它包含加载、存储、初 始化和调用对象方法的指令。与元数据和公共类型系统结合,MSIL允许真正的跨语言集成。 MSIL在执行前被转换为机器代码,而不杲一边解释一边执行。
什么是托管代码和托管数据?
托管代码是编写为支持公共语言运行时服务的代码(请参阅“什么是公共语言运行时? 为了支持这些服务,代码必须向运行时提供最小级别的信息(元数据)。默认情况下,所有 C#、Visual Basic.NET 和 JScript.NET 代码都是托管代码。Visual Studio.NET C++ 代码在默 认情况下不是托管代码,但通过指定命令行开关(/CLR),编译器也可以生成托管代码。 与托管代码密切相关的是托管数据。托管数据是由公共语言运行吋的垃圾冋收器进行分配和 释放的数据。默认情况下,C#、Visual Basic和JScript.NET数据是托管数据。不过,通过 使用特姝的关键字,C#数据可以被标记为非托管数据。Visual Studio.NET C++数据在默认 情况卜是非托管数据(即使在使用/CLR开关时),但是在使用C卄的托管扩展时,可以 使用关键字将类标记为托管类。就象该名称所显示的那样,它表示类实例的内存由垃 圾冋收器管理。另外,该类也完全成为.NET框架的成员,同时具备它所带來的好处和限 制。好处的一个例子是:它可以与其他语言编写的类正确地进行互操作(如托管的C++类 可以从Visual Basic类继承);限制的一个例子是:托管类只能从一个基类继承。
什么是程序集?
程序集是.NET框架应用程序的主要构造块。它是作为--个单一实现单元(包含一个或多 个文件)來创建、标识和部署的功能集合。所有的托管类型和资源都可以被标记为仅在其实 现单元内访问,或者标记为可由该单元以外的代码來访问。
程序集通过清单來进行白我说明。清单是每个程序集的不可或缺的组成部分。清单:
建立程序集标识(以文本名称的格式)、版本、类别和数字签名(如果耍在应用程序之间共 享该程序集)。
定义组成程序集实现的文件(通过名称和文件散列)。
指主组成程序集的类型和资源,包括哪些是从程序集中导出的。
逐条记录编译时对其他程序集的依存。
指定程序集正确运行所需要的权限的集合。
此信息在运行时用于解析引用、强制版本绑定策略以及验证所加载的程序集的完整性。因为 每一类型都被加载到程序集的上下文中,所以运行时可以确定并定位任何止在运行的对象的 程序集。程序集也是应用了代码访问安全权限的单元。在确定授予其所包含的代码哪些权限 时,每个程序集的标识证据都被认为是独立的。
程序集的自我说明特征也有助于实现无影响安装和XCOPY部署。
什么是专用程序集和共享程序集?
专用程序集仅由单一应用程序使用,并且存储在该应用程序的安装目录中(或其子目录中)。 共亨程序集是可被多个应用程序引用的程序集。要共亨一个程序集,该程序集必须明确为这 个目的而创建,这可以通过给其指定加密的增强型名称(用作共亨名称)來实现。相反,专 用程序集名称只要求在使用它的应用程序屮是唯一的。
通过区分专用和共亨程序集,我们介绍明确决定共亨的要点。只需简单地将专用程序集部署 在应用程序目录屮,即可确保应用程序只在创建和部署它的那部分中运行。对专用程序集的 引用只在专用应用程序目录内部进行解析。
选择创超和使用共亨程序集可以有多种原因,例如表达版本策略的能力。共亨程序集具有加 密的增强型%称,这项事实意味着只有程
文档评论(0)