Information Technology Reference
In-Depth Information
The Structure of an Assembly
As you saw in Chapter 1, an assembly does not contain native machine code, but Common
Intermediate Language (CIL) code. It also contains everything needed by the Just-In-Time (JIT)
compiler to convert the CIL into native code at run time, including references to other assem-
blies it references. The file extension for an assembly is generally
.exe
or
.dll
.
Most assemblies are composed of a single file. Figure 10-11 illustrates the four main sec-
tions of an assembly.
The assembly
manifest
contains the following:
-
The components of the assembly name
-
A list of the files that make up the assembly
-
A map of where things are in the assembly
-
Information about other assemblies that are referenced
The
type metadata
section contains the information about all the types defined in the
assembly. This information contains everything there is to know about each type.
The
CIL
section contains all the intermediate code for the assembly.
The
resources
section is optional, but can contain graphics or language resources.
Figure 10-11.
The structure of a single-file assembly