文本脉络图如下:
一、源代码-面向CLR的编译器-托管模块-(元数据&IL代码)中介绍了编译器将源文件编译成托管模块(中间语言和元数据),本文主要介绍如何将托管模块合并成程序集.
1、程序集的基本概念
2、程序集生成的过程
注:
(1)、清单指出程序集只有一个文件组成,
(2)、对于只有一个托管模块,没有资源文件的项目,程序集就是托管模块.
(3)、如果需要将一组文件合并到程序集中可以使用程序集链接器(AL.exe)以及其他的一些命令行选项.
3、如何构建可重用、可版本控制、可保护的组件.
常用的方法是,把程序集的物理表示和逻辑表示区分开,将很少用到的类型和文件放到单独的文件中,并将这些文件作为程序集的一部分,如果运行时需要,则去下载,这样不仅节省了磁盘空间,还节省了安装时间.通过程序集,可以在不同的地方部署,同时任然将所有的文件当作一个整体来看待.
4、关于程序集自描述的优点
在程序集的模块中,还包含与引用的程序集有关的信息(版本号、描述等等),具体如下图
这些信息(当然远不止上图中的这点信息)使程序集能够自描述.也就是说CLR能判断为了执行程序集中的代码,程序集的直接依赖对象是什么.不需要在注册表或者Active Directory Domain Services(ADDS)中注册额外的信息.由于无需额外的信息,所以和非托管组件相比,程序集更容易部署.