Code in .NET and Mono is distributed in assemblies, there are shipped typically in files with the extension .exe or .dll, and they are files that extend the Portable Executable file format to include the Common Intermediate Language metadata and portable code.
Assemblies are typically loaded either from a given file path, or using an Assembly Name to load them from the Global Assembly Cache.
The Mono Assembly API contains method for dealing with assembly names, loading assemblies, accessing assembly components, modules and some advanced features.
Assemblies contain one or
more images, the actual vessels for your code.
The Image API documents the
functions that operate on MonoImage *
.
The MonoAssemblyName contains the full identity of an assembly (name, culture, public key, public key token, version and any other flags).
These unmanaged objects represent the System.Reflection.AssemblyName managed type.
An assembly is made up of one or more modules.