How to create Assembly in .Net C#.

An assembly is the primary building block of a .NET Framework application.
It is an Output Unit. Assemblies contain MSIL code.
- Assembly physically exist as DLLs or EXEs
- One assembly can contain one or more files
- The constituent files can include any file types like image files, text files etc. along with DLLs or EXEs
- When you compile your source code by default the exe/dll generated is actually an assembly.

Manifest: Assembly manifest is a data structure which stores information about an assembly
Assembly Metadata is stored in the Manifest.

A private assembly is used only by a single application, and is stored in application folder, or in a subfolder.
When the .net code gets compiled it generates an assembly which is stored in bin folder.

Shared assemblies (also called strong named assemblies) are copied to a single location (usually the Global assembly cache)
- Shared assembly can be used by multiple application and has a strong name.
- Strong name indicate the assembly, Version number, culture identity and public key token.