程序集(Assembly)是.NET框架应用程序的基本构建块,它是一个 一个或多个托管模块及其相关资源文件的逻辑组合。程序集可以是单文件(如.dll或.exe文件)或多文件(由多个模块或资源文件构成)。程序集是组件复用、实施安全策略和版本策略的最小单位。
程序集包含以下主要部分:
程序集清单:
清单是程序集的元数据部分,包含程序集的名称、版本、区域性和数字签名等信息,以及组成程序集的所有文件的列表和资源信息。
类型元数据:
类型元数据描述程序集中定义的类型的信息,包括类、方法、属性、参数、返回值等,由元数据表组成。
中间语言代码:
CIL代码是.NET程序的执行代码,存储在程序集中,可以是可执行的应用程序文件(.exe)或其他应用程序使用的库(.dll)。
资源文件:
资源文件包括程序集中使用的所有非代码资源,如图像、文本等。
程序集可以是强命名或弱命名的:
强命名程序集:具有发布者的公钥或私钥签名,这使得程序集具有唯一性,并可以实施安全策略和版本策略。
弱命名程序集:没有发布者的签名,相对较弱,可能在不同版本间存在冲突。
程序集在.NET应用程序中起着至关重要的作用,它们不仅定义了应用程序的结构和行为,还提供了类型安全、版本控制和部署等关键功能。通过程序集,开发者可以实现组件的复用,提高开发效率和应用程序的稳定性。