In simple words, an assembly is smallest deployable unit in
.net framework. We can define an assembly is a compiled
code library use for deployment, versioning and security. There are two types:
process assemblies (EXE) and library assemblies (DLL). A process assembly
represents a process which will use classes defined in library assemblies .NET
assemblies contain code in CIL, which is usually generated from a CLI language, and then compiled into machine
language at runtime by the CLR just-in-time compiler.
On the basis of execution an assembly is of two types
.exe -- Which is known as self executable assembly.
.dll -- Which is known as dynamic link library.
.netmodule – This is other types of assembly
which is used to create modules of different-2 language which can be further
added in main program. Example of such type application is that suppose we want
to create a module through VB.NET and another module is created in VC#.NET then
finally we can merge these two module in main program which have a main method.
That program either VB.NET or VC#.NET. In this process we use concept of
On the basis of accessing an assembly is of two types
Private assembly -- When we reference private
assembly to any application then that application creates a separate copy of
Shared assembly – Shared assembly are deployed
in GAC (Global Assembly Cache) folder and application do not make separate copy
of these assembly.
On the basis of file assembly is of two types
Single File Assembly
Multi File Assembly.
With Respect to Number of Resources an
assembly of two types
-- It uses fixed resources
Dynamic Assembly – It support dynamic creation
of resources or files at runtime programmatically.