In this blog, I’m explaining about assembly in .Net
An assembly is grouping of files deployed as a single file. An assembly almost always consists of at least two files:
Assemblies are the building blocks of .NET framework application. During compile time Metadata is create with Microsoft Intermediate language (MSIL) and store in a file called assembly manifest. Both Metadata and Microsoft Intermediate language (MSIL) wrapped in a portable Executable file.
The manifest is a list of all the files that exist inside the assembly.
Conceptually, modules correspond to DLLs or EXEs; each module contains metadata, in addition to the metadata of its parent assembly. The assembly format is an enhanced version of the current Portable Executable (PE) format.
Note: Each Assembly can have only one entry point (that is, DllMain, WinMain, or Main).
Types Of assembly
1. Shared assembly
2. Private assembly
3. Satellite assembly
A private Assembly is used only by single application. It is generally stored in application root folder.
A shared Assembly is one that can be referenced by more than on application. If multiple applications need to access an assembly.
A Satellite Assembly contains only static objects like images and other non-executable files required by the application.