.net系统自学笔记——程序集(没太看明白,待复习)
程序集 是.net用于部署和配置单元的术语。.net应用程序包含一个或多个程序集,通常扩展名是exe或dll的.net可执行程序称为程序集。.net程序集包含元数据,这些元数据描述了程序集中定义的所有类型及其成员的信息,即方法,属性,字段,事件。还提供了程序集中文件的相关信息,版本信息和所使用的程序集的信息。程序集是一个自我描述的安装单元,由一个或多个文件组成。程序集可是包含元数据的DLL或EXE,也可以由多个文件组成,如资源文件,模块和EXE。程序集可以是私有或共享的。在简单的.net应用程序中,最好使用私有程序集工作。在使用共享程序集时,几个应用程序都使用同一个程序集,且与它有一定的依赖关系。共享程序集减少了硬盘和内存空间的需要。使用共享程序集时,要遵循许多规则,共享程序集必须有一个版本号和一个唯一的名称,通常它安装在全局程序集缓存GAC中。GAC中允许共享系统上同一个程序集的不同版本。
程序集的功能:
1.程序集是自描述的
2.版本的相互依赖性在程序集的清单中进行了记录
3.程序集可以并行加载
4.应用程序使用应用程序域来确保其独立性
5.安装非常简单
程序集由描述它的程序集元数据,描述导出类型和方法的类型元数据,MSIL代码和资源组成。
程序集清单:标识(名称,版本,区域性,公钥),属于该程序集的一个文件列表,被引用程序集的列表,一组许可请求,导出的类型(假定它们在一个模块中定义,该模块从程序集中引用,程序集就包含它们,否则它们就不是程序集清单的一部分)
名称空间,程序集和组件
私有程序集和共享程序集(使用共享程序集是必须遵循的原则??强名)
附属程序集:附 属程序集是只包含资 源的 程序集,它尤其适用于本地化。
查看程序集:命令行实用工具:ildasm,一个MSIL反汇编程序
创建程序集
动态加载程序集
应用程序域
AppDomain类用于创建和终止应用程序域,加载和卸载程序集和类型,以及枚举应用程序域中程序集和线程。
如何跨应用程序域访问或通信??
配置.net应用程序
配置类别:启动配置,运行库配置,WCF配置,安全配置
配置文件:应用程序配置文件,计算机配置文件,发行者策略文件
版本问题