CLR程序集的示例分析
小编给大家分享一下CLR程序集的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
一、CLR程序集教程之体系结构
程序集是一个抽象的概念,程序集是一个或多个托管模块、资源文件和描述程序构成程序集文件的“清单”的逻辑性分组。从上面对程序集的定义的概念可知程序集主要有两部分组成:托管模块,资源文件。下面我们一一介绍。
托管模块
托管模块是一个标准的32们的Microsoft Windows 可移植体(PE32)文件,或是一个标准的64们Windows可移值执行体(PE32+)文件。组成托管模块的各个部分:PE32(32位版本上)或PE32+(64位版本上)、CLR头、元数据、中间语言(Microsoft Intermediate Laguage,MSIL)代码。注意的事CLR(Common Language Runtime,CLR)不能直接处理托管模块。
A、PE头:主要是标识文件运行环境,PE32能在32位和64位的版本上运行,PE64则标识该托管模块只能在64位的版本上运行了。
B、CLR头:主要包含要求CLR版本、托管块块的入口方法(Main())等。
C、元数据:主要描述了该托管模块把义定的类型和成员和所引用的类型和成员。
D、中间语言代码:简单的说是通过编译器把源代码生成一另一种CLR能处理的代码。
可以说“元数据”在托管块块扮演着很重要的角色,编写代码时“智能感知”特性就是来自元数据、可以实现远程机器上重建对象状态等等。
资源文件
资源文件就比较简单了,包含一些应用程序所用的到的一些资源:GIF、JPEG......
清单
主要列出了构成程序集的文件集。
二、CLR程序集教程之程序集的分类
程序集主要分为两种类型:强命名程序集、弱命名程序集。这两种程序集的结构上完全一致的。两者真正的区别在于强命名程序集用发布者的公钥/私钥允许对程序集的惟一标识。
强命名程序集
一个强命名程序集包括4个重要属性:一个文件名(无扩展名)、一个版本号、一个语言文化标识以有一个公钥。這些属性惟一地标识了程序集。
弱命名程序集
简单地说,没有以上强命名程序集所有的属性就是弱命名程序集.
三、CLR程序集教程之程序集的部署
程序集部署主要分为:私有部署和全局部署。强命名程序集可以私有部署,也可以全局部署,而弱命名程序集只能私有部署。
以上是“CLR程序集的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341