什么是程序集?

一、      程序集定义

由.NET 编译生成的EXE文件或DLL文件就是程序集,例如:System.Data.dll。

 

二、      程序集结构

程序集结构

 

1.         程序集清单:和我们在淘宝买东西的配送清单一样就是说明里面包含了什么东东。

2.         类型元数据:类型元数据是描述程序集中定义的类型的信息,由一些元数据表组成,包含 类、方法、属性、参数、返回值等。

3.         MSIL代码:每一种类型的二进制代码,这些代码存储为与机器无关的MSIL代码。

4.         资源:程序的不可执行部分,比如图片等。

 

三、      查看程序集

在工具菜单下-外部工具-添加

标题输入Ildasm(中间语言反汇编程序)

命令选择:C:/Program Files/Microsoft Visual Studio 8/SDK/v2.0/Bin/ildasm.exe然后选择刚才的Ildasm菜单-文件-选择你的DLL文件即可查看,结果如下图。

 

 


Manifest:就是程序集清单通过这个我们可以看出它引用外部的程序集等资源以及对自身模块的说明。.assembly extern mscorlib这样的说明是说明它对外部的引用。程序集自身的信息包括:程序集文化、版本号、版本属性、AssemblyVersion、版本兼容性。

四、      使用程序集

例如: 添加引用-选择DLL文件就是引用了程序集。

五、      私有和共享程序集

1.         私有程序集:私有程序集必须和应用程序在相同的目录下。默认的都是私有程序集。

2.         共享程序集:共享程序集存放在GAC(全局程序集高速缓存位于windows/assembly目录下,如下图)区,任何程序都可以引用它。

 

 

 

3.         强名:为了保护和区分不同的共享程序集(因为程序集有可能是多个人开发的但是名字一样),我们必须在共享程序集上加密钥。如果密钥不同即使两个组件的名称相同也不是同一组件。程序集名称+版本+公共密钥=


本文转自:http://blog.csdn.net/yanglaiwang/article/details/5470389

posted @ 2012-02-07 20:46  心亦  阅读(667)  评论(0编辑  收藏  举报