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资源文件单独放在一个程序集中,主程序集进行引用。