首页 > 代码库 > 【.NET】程序集
【.NET】程序集
从技术角度上说。程序集可以由多个模块组成。实际上,模块这个术语一般用于表示一个合法的.NET二进制文件。在大多数情况下,程序集只有一个模块组成,这种情况下,程序集和实际二进制文件是一一对应的。(因此被称作单文件程序集)
单文件程序集的左右必要部分(首部信息、CIL代码、类型元数据、清单和必须的资源)都包含在一个.exe或者.dll包中。
另一方面,多文件程序集是.NET模块的集合,这些模块作为单个逻辑单元进行部署和版本化。通常,其中的一个会作为主模块,它包含程序集级别的清单,主模块的清单记录了他依赖的每一个相关模块。
根据命名习惯,多文件程序集的辅助模块的文件扩展名一般是.netmodule,但这并不是CLR的强制要求。辅助模块.netnodules也包含CIL代码和类型元数据,同时还有一个模块级别的清单,该清单值记录了该模块外部引用的程序集。
多文件程序集的另外一个有点是:允许模块由不同的.NET编程语言进行编写。
程序集并不包含特定平台的指令。相反,它包含的是独立于平台的CIL指令。当.NET运行库把一个程序集加载进内存时。CIL将会被编译成目标平台可以理解的指令。
当一个客户端程序使用定义在外部程序集的类型时,CLR只是加载外部程序集的副本。由于.NET运行库在查找被引用的程序集使,并不查询系统注册表,因此我们可以程序集和外部程序集一起放到计算机的某个位置。
【.NET】程序集
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。