NET基础课--NET中程序集0-1
程序集
1.表现形式:.dll 和. exe 。
2.程序集组成;PE头,CLR头,清单,元数据,CIL代码,资源文件。实际上这些内容包含在一个叫做Module的逻辑结构中。
单模块程序集:程序集就包含一个模块。程序集和模块在一个文件中
多模块程序集:程序集包含多个模块,一个主模块(必须包含清单),和程序集在一个文件中。其他每个模块在各一个文件,其后缀名是.netmodule。
visual studio 只支持生成单模块程序集。
注意概念:程序集是指ClassLib,程序集所在文件是ClassLib.dll。注意区分。
3.PE头: 是一种文件格式,windows操作系统使用,以便识别这个文件是否可执行。
CLR头: 告诉OS这个程序集是.net程序集区别其他可执行程序。
清单: 由于其包含程序集的自解释信息所以也叫程序集元数据,区别后面要说的元数据。
查看方式:使用ILDASM加载程序集,菜单中选择视图---元信息---显示。将滚动条下拉,找到assembly位置。
主要是assemblydef表 filedef表等。 这个表明的定义就是你看到的虚线左上角名称+def。
元数据: 确切的说是类型元数据。查看方式和清单一致。主要有moduledef表,typedef表(类型信息;名称 基类型)
methoddef(方法定义表),fielddef表(字段),eventdef,propertydef。
资源文件:资源可以是字符串,也可以是文件例如图片。
使用方式:A文件直接嵌入到程序集中,当资源较大时会影响程序集加载速度。
B资源文件单独放在一个程序集中,主程序集进行引用。