.NET- What is assembly

In this article we’ll discuss assembly in .NET environment. If you’ve any questions, suggestions or feedback then please feel free to comment.


What is assembly ?

Assembly is unit of deployment like EXE or a DLL.
Assembly consists of one or more files (dlls,.exe’s, html files etc), and represents a group of resources , type definitions, and implementations of those types.

An assembly may also contain references to other assemblies.

These resources, types and references are described in a block of data called a manifest. The manifest is part of the assembly, thus making the assembly self-describing.

An assembly is completely self describing. An assembly contains metadata information,which is used by the CLR for everything from type checking an security to actually invoking the components methods.

 As all the information is in the self assembly itself, it is independent of registry . This is the basic advantage as compared to COM where the version was stored in the registry.

Multiple versions can be deployed side by side in different folders. These different versions can execute at the same time without interfering with each other. Assemblies can be private or shared .

For private assembly deployment, the assembly is copied ot the same directory as the client program that references it. No registration is needed, and no fancy installation program is required.

When the component is removed, no registry cleanup is needed, and no uninstall program is required. Just delete it from the hard drive.