NET 框架基本原理透析⑵

生成、打包、部署及管理应用程序与类型

要生成就离不开程,序集,程序集是包含一个或多个类型定义文件和资源文件的集合.在程序集包含的所有文件中,有一个文件用于保存清单.清单是另外一组元数据表的集合,其中主要包含了程序集中一部分文件的名称.另外清单描述了程序集的版本、语言文化、发布者、公有导出类型.以及组成该程序集的所有文件.

程序集是CLR操作的对象.也就是说,CLR总是先加载包含清单元数据表的文件,然后利用该清单来获取程序集的其他文件.下面是一些应该牢记的程序集特性:

•程序集定义了可重新的类型

•程序集标识有一个版本号

•程序集可以包含与之相关的安全信息

除了包含清单元数据表的文件外,程序集中的其他各个文件没有上述这些特性.

重要    总而言之,程序集是一个可重用,可实施版本策略和安全策略的单元.它允许我们将类型和资源划分到不同的文件中,这样程序集的使用者可以决定将那些文件打包在一起部署.一旦CLR加载了程序集中包含清单的那个文件,它就可以确定程序集的其他文件中哪些包含了程序正在引用的类型和资源.任何程序集的使用者仅需要知道包含清单的文件名称.文件的划分对使用者是透明的,并且可以在将来改变,同时有不会破坏现有应用程序的行为.正是有了清单元数据表,一个托管模块才得以成为一个程序集.清单为程序集的使用者和各个部分之间提供了一层间接关联,也使得程序集得以实现自描述.另外需要注意的是,虽然包含清单的文件知道程序集中的其他文件,但其他文件本身却并不清楚它们是一个程序集的一部分.

时间: 2024-08-05 07:07:16

NET 框架基本原理透析⑵的相关文章

.NET 框架基本原理透析⑴

.NET框架的核心便是通用语言运行时(CLR),顾名思义它是一个可被各种不同的编程语言所使用的运行时.CLR的很多特性可用于所有面向它的编程语言.比如,如果CLR用异常来报告错误,那么所有面向它的语言都将通过异常来得到错误报告.如果CLR允许我们创建线程,那么所有面向它的语言也都可以创建线程.在实际中,CLR在运行时对开发人员用何种编程语言来完成源代码一无所知.这意味着我们应该选择那些能够最容易表达我们意图的编程语言.我们可以用任何自己喜欢的语言来编写代码,前提是我们使用的编译器能够面向CLR的

从经典架构项目中透析微服务架构的核心概念和充血模型

微服务架构和SOA区别 微服务现在辣么火,业界流行的对比的却都是所谓的Monolithic单体应用,而大量的系统在十几年前都是已经是分布式系统了,那么微服务作为新的理念和原来的分布式系统,或者说SOA(面向服务架构)是什么区别呢? 我们先看相同点: 需要Registry,实现动态的服务注册发现机制:需要考虑分布式下面的事务一致性,CAP原则下,两段式提交不能保证性能,事务补偿机制需要考虑:同步调用还是异步消息传递,如何保证消息可靠性?SOA由ESB来集成所有的消息:都需要统一的Gateway来汇

透析Java本质-谁创建了对象,this是什么

Android系统手机屏幕的左上角为坐标系,同时y轴方向与笛卡尔坐标系的y轴方向想反.通过提供的api如getLeft , getTop, getBottom, getRight可以获得控件在parent中的相对位置.同时,也可以获得控件在屏幕中的绝对位置,详细用法可参考android应用程序中获取view的位置 当我们编写一些自定义的滑动控件时,会用到一些api如scrollTo(),scrollBy(),getScrollX(), getScrollY().由于常常会对函数getScroll

数据分析处理——透析表和交叉表

1透视表 数据透视表(Pivot Table)是一种交互式的表,可以进行某些计算,如求和与计数等.所进行的计算与数据跟数据透视表中的排列有关. 之所以称为数据透视表,是因为可以动态地改变它们的版面布置,以便按照不同方式分析数据,也可以重新安排行号.列标和页字段. 数据分析中的透析表十分强大,甚至可以说是相当于分组聚合外加哑变量三个步骤了.但有个前提就是:在使用透析表之前,你必须明确知道自己想要的是什么,需要做什么! 当然,有时候你很难直接看出需求.这时候我们就得添加项目和检查每一步来验证我们一步

2019-2025全球与中国透析溶液市场现状及未来发展趋势

本报告研究全球与中国市场透析溶液的发展现状及未来发展趋势,分别从生产和消费的角度分析透析溶液的主要生产地区.主要消费地区以及主要的生产商.重点分析全球与中国市场的主要厂商产品特点.产品规格.不同规格产品的价格.产量.产值及全球和中国市场主要生产商的市场份额. 主要生产商包括: Fresenius Baxter B. Braun Haemo Pharma Nipro Unipharm JSC Rockwell Medical 针对产品特性,本报告将其分为下面几类,主要分析这几类产品的价格.销量.市

【资源分享】透析表

今日分享excel的透析表内容 链接: https://pan.baidu.com/s/1vCST7la0V_5wX0T1aZzHnw 原文地址:https://www.cnblogs.com/zhoujianjie1988/p/11330324.html

960CSS框架,之前有用过 了解下框架基本原理

http://blog.sina.com.cn/s/blog_8173443e010160b8.html CSS框架已经出现很长时间了,关于这些框架的用处也被我们讨论了很多遍了.有人说,CSS框架不够先进,还有人说这些框架大大的节省了他们的开发时间.在此,我们将不再讨论这个问题. 前段时间,我了解到了CSS框架.我最喜欢960CSS框架. 本教程将解释这个框架的基本原理,这样你就可以用960来快速进入开发. 基本原理 你必须知道一些基本原理来“学习这个框架是如何工作的”.你可以通过实验(或者是用

【struts1】--Servlet讲解MVC框架基本原理

1.开始 根据路径的不同,调用不同的jsp地址——> 把行为封装到不同的Action里面,Test分个调用各个Action,if..else并没有解决.——> 把变化的Action和需要跳转的jsp都写入xml文件里面——> 配置文件,反射——> mvc Struts大体思路如下: 1.中央控制器,最高指挥官:1)收到指示(URL访问),截取URL   2)通过URL解析,分发到对应的Action. Servlet发送,接收一个请求. 1.web客户端发送request到tomca

Cordova框架基本原理

最近在做混编项目,也是从项目里开始接触Cordova框架,网上很多帖子都总结的很好,我还是要总结一下,便于加深一下. Cordova框架是一个可以让JS与原生代码(包括 Android 的 java,iOS 的 Objective-C 等)互相通信的一个库,并且提供了一系列的插件类,比如 JS 直接操作本地数据库的插件类. 要想明白它是如何互相通信的需要弄清楚下面三个问题: 1.JS怎么跟Objective-C通信 2.Objective-C怎么跟JS通信 3.JS请求Objective-C,O