程序集是代码的编译输出,通常是DLL,但EXE也是程序集.它是任何一个系统中最小的部署单元.NET项目.
程序集通常包含.NET代码,第一次在给定的机器上执行时将编译为本机代码("JITted"——由即时编译器编译).编译后的代码也将存储在程序集中,并在后续调用中重用.
程序集还可以包含图标、位图、字符串表等资源.此外,程序集还包含程序集 list 中的元数据,如版本号、强名称、区域性、引用的程序集等信息.
在99%的情况下,一个程序集相当于磁盘上的一个物理文件-多文件程序集(一个程序集,分布在多个文件中)似乎是一个相当奇怪的边缘情况,在我5年多的.NET开发中到目前为止还没有遇到过这种情况.
在多文件程序集中,DLL或EXE中仍然只有一个程序集 list ,多个netmodule文件中仍然只有MSIL代码.