一、程序集
1.程序集(assembly)是一个及一个一个以上托管模块,以及一些资源文件的逻辑组合。
2.程序集是组件复用,以及实施安全策略和版本策略的最小单位。
3.程序集是包含一个或者多个类型定义文件和资源文件的集合。在程序集包含的所有文件中,有一个文件用于保存清单。(清单是元数据部分中一组数据表的集合,其中包含了程序集中一部分文件的名称,描述了程序集的版本,语言文化,发布者,共有导出类型,以及组成该程序集的所有文件)。
4、在编译应用程序中,所创建的CIL代码存储在一个程序集中,程序集包括可执行的应用程序文件(.exe扩展名文件)和其他应用程序使用的库(.dll扩展名文件)
组成部分:
程序集是.NET Framework编程的基本组成部分。
1.程序集清单,包含描述该程序集中各元素彼此如何关联的数据集合,还包含指定该程序集的版本要求和安全标识所需的所有元数据,以及定义该程序集的范围和解析对资源和类的应用所需的全部。
2.元数据,提供有关程序集中定义的类型的信息,包括类型的名称,可见性,基类和类型所实现的接口。注意:程序集清单和元数据说明了程序集是自我描述的。
3.实现这些类型的MSIL代码。
4.资源集,诸如位图,指针,静态文本等。
二、命名空间
1.命名空间可以逻辑的对不同的类型进行分组。例如System.Web.UI逻辑的分组了UI相关的特征。
2. 在进行面向过程开发时,有时候程序员需要使用相同的类名,使用命名空间可以避免类名冲突。
3.通过使用 namespacexxx;你所使用的库函数或变量就是在该名字空间中定义的.这样一来就不会引起不必要的冲突了.命名空间是用来组织和重用代码的编译单元。
三、区别
1.程序集(Assembly)物理的对逻辑单位进行分组,命名空间(Namespace)是逻辑的对类进行分组。
2. 命名空间可以跨不同的程序集。
百科:
程序集:http://baike.baidu.com/view/94241.htm
命名空间:http://baike.baidu.com/view/94233.htm?fromId=159924
虽然总结了,但还需要后期深入理解!