An assembly is a basic building block for any application in
the .NET Framework. It is a fundamental unit of deployment, version control,
reuse, activation scoping, and security permissions. An assembly is a
collection of types and resources that are built to work together and form a
logical unit of functionality. An assembly provides the Common Language Runtime
(CLR) with the information it needs to be aware of type implementations. During
runtime, a type does not exist outside the context of an assembly.
Creating an Assembly programmatically is one of the commonly
unexplored features available to programmers. In some scenarios this may be a
very useful feature. We can also create an assembly and add resources to it. In
this article we focus on creating an assembly with a class and methods. Later
on we will view reflection. We can also use ILDASM for viewing the contents of
the assembly. Before we actually go about creating an assembly we need to
understand what the contents of the assembly are.
The contents of an assembly are
CIL – Common Intermediate Language (formerly MSIL - Microsoft
Assembly Manifest – The Assembly Manifest has the information
like Name, Version number, Culture, Strong Name information, etc.