C#中关于Module和Assembly的关系

在《C# via .NET》中,有这样的描述

0E40BCD1B7534AF28A765C5CE2CC3DEE

 

 

CLR并不和Module模块一起工作,相反是和程序集一起工作的。程序集是一个抽象的概念。

首先,程序集是一个或多个模块、资源文件的逻辑性分组,其次程序集是重用,安全性和版本控制的最小单元。

上图中一些托管模块和资源(或数据)文件准备交由一个工具来处理,该工具生成单独一个PE32+文件来表示文件的逻辑性分组。实际发生的事情是,PE32+文件含有一个名为“清单”(manifest)的数据快,清单是由元数据表构成的另一种集合。这些表描述了构成程序集的文件,由程序集中的文件实现的公开导出的类型,以及与程序集关联在一起资源或数据文件。

你可以使用不同的编程语言中实现的类型来创建程序集。例如,你可以在C#中实现一些类型,VB中实现另一些类型,或其他语言中的其他类型。当你i编译C#源码中的类型,编译器产生一个托管模块,当你编译VB源码中的类型,编译器产生另一个单独的托管模块。你最后可以用一个工具(AL.exe) 把这些模块合成为一个单独的程序集。

转载于:https://www.cnblogs.com/grkin/archive/2013/03/20/2970593.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值