CLR via C# 读书笔记1-2

23 篇文章 0 订阅

托管模块集成在程序集(Assemblies)中

CLR 实际上并不处理模块,它处理程序集。程序集是一个或多个模块/资源文件的集合,也是最小的可复用,安全性,版本化的最小单位。根据你选择的编译器,你可以生成一个或多个程序集。在 CLR 的概念中,这称之为组件(component)。
插图 1-2 将帮助你理解程序集到底是什么。托管模块和资源文件经过一个工具的处理集成为程序集,这个工具生成一个 PE32(+) 文件,这个文件包含了一块数据信息称之为manifest。而这个 manifest 是另一组元数据(metadata),他们描述了组成这个程序集的文件,公有类型以及资源数据。

通常,编译器负责把生成的托管模块组入到一个程序集中,并不包含其它的内容。即:一个程序集就是一个托管模块。在编译的过程中不包含其它处理,如果你需要把其它文件组入到这个程序集中则需要其他工具 (例如 assembly linker, AL.exe) 。
一个程序集模块包含了必要的信息,保证其是自我描述 (self-describing) 的,所以 CLR 可以直接检测程序集的依赖项目保证该程序集的顺利运行,不需要再访问注册表或者 Active Directory Domain Services (AD DS)。(比起非托管组件这简单了许多)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值