技术积累

明日复明日,明日何其多,我生待明日,万事成蹉跎。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

什么是配件(assembly)?

Posted on 2005-07-03 21:41  追风逐云.NET  阅读(728)  评论(0编辑  收藏  举报
assembly, 这里把它翻译为配件, 以示和组件(Component)加以区别. 如果您觉得不合适, 请指正!
  
  一个配件有时候是指一个EXE或者DLL文件, 实际上是一个应用程序(就是指带有主程序入口点的模块)或者一个库文件. 但是配件实际上可以是由一个或者多个文件组成(dlls, exes, html等等), 代表一组资源, 以及类型的定义和实现的集合. 一个配件也可以包含对其它配件的引用. 所有这些资源、类型和引用都在一个列表(manifest)中描述。这个manifest也是配件的一部分,所以配件是一个自我描述的,不需要其它附加的部件对其描述!
  
  配件的另一个重要特性是,它是.Net环境下类型标识的一部分,也可以说是基本单位。因为,区分一个类型的标识就是包含这个类型的配件名字加上类型名本身。举个例子,配件A定义了类型T, 配件B也定义了同名类型T,但是.Net把这两个类型认为是不同的类型。
  
  注意,不要把配件(assembly)和名字空间(namespace)混淆起来。其实,名字空间仅仅是用来把类型名用树的形式组织起来的手段。对于运行是环境来讲,类型名就是类型名,和名字空间一点关系都没有。
  
  总之,记住配件名加上类型名唯一标识一个运行时类型。
  
  另外,配件也是.Net框架用于安全策略的基本单位,许多安全策略都是基于配件的。