一线开发读CLR --- 第二章:生成打包程序集及中间语言IL的初步了解
2013-03-03 12:31 秋日愚夫 阅读(305) 评论(0) 收藏 举报本章印象最深的两个知识点:一,程序集的构成图径;二,程序集元数据包含的信息;
还有一点关于此知识点应用的联想。
程序集的构成:
我们先看一下,程序集是如何由一个个文件构成的。如下图:

第一步,由CSC.exe(C#编译器)将若干个 CS文件 编译成模块文件。编译成的模块文件可直接用.netModule扩展名文件表示。也可以用只含有一个模块的程序集文件(扩展名 dll)表示.
第二步,将获得的模块文件 与 若干个 资源文件 一同打包成 程序集文件。
对元数据的初步了解:
元数据包含于程序集及模块文件中。
元数据由几个表构成。分为三个类别:定义表,引用表,清单表
定义表:可以查看程序集中类及方法,字段,属性的定义信息。
引用表:包含类中的引用信息,方法中的引用信息。
清单表:程序集,文件的引用信息。
可以看得出 反射 获取 对程序集的元数据中这些自描述的信息,达成想要的操作。
作者还建议 私有布署程序集文件,减少对其它DLL的依赖,增加应用程序的健壮性。
由本章内容引起的联想:
把软件的核心框架与业务逻辑分离。核心框架中包含业务逻辑程序集升级模块。
每次升级只升级业务逻辑程序集。
感觉有点像插件系统。分布式的插件系统。呵呵
浙公网安备 33010602011771号