The assembly is used by the CLR as the smallest unit for the following:
Deployment
Version control
Security
Type grouping
Code reuse
An assembly must contain a manifest, which tells the CLR what else is in the assembly. The other elements can be any of the following three categories:
Type metadata
Microsoft Intermediate Language (MSIL) code
Resources
An assembly can be just one file. Figure 21-1 details the contents of a single-file assembly.
Figure 21-1
Alternatively, the structure can be split across multiple files, as shown in Figure 21-2. This is just one example of a multiple-file assembly configuration.
Figure 21-2
An assembly can only have one manifest section across all the files that make up the assembly. There is nothing stopping you, however, from having a resource section (or any of the other sections of type Metadata and MSIL code) in each of the files that make up an assembly.