What are .NET Assemblies?

John picture John · Jun 4, 2010 · Viewed 231.2k times · Source

What are .NET Assemblies? I browsed over the net and I am not able to understand the definition.

Answer

mangeshkt picture mangeshkt · Jun 5, 2010

Assembly is the smallest unit of deployment of a .net application. It can be a dll or an exe.
There are mainly two types to it:

  1. Private Assembly: The dll or exe which is sole property of one application only. It is generally stored in application root folder

  2. Public/Shared assembly: It is a dll which can be used by multiple applications at a time. A shared assembly is stored in GAC i.e Global Assembly Cache.

Sounds difficult? Naa....
GAC is simply C:\Windows\Assembly folder where you can find the public assemblies/dlls of all the softwares installed in your PC.

There is also a third and least known type of an assembly: Satellite Assembly.
A Satellite Assembly contains only static objects like images and other non-executable files required by the application.

Hope this helps the readers!