what is the need of assembly ? why we use them? is it possible to program without an assembly? is the assembly is created automatically? suppose i develop an asp.net web project is there any assembly involved? could you list example?
Assemblies are useful because they give us a standard way of putting types into a single file. Assemblies also contain metadata tables that describe the types that are contained within it which aid in development and compiling against them.
I would suggest that you read Assemblies:
Assemblies are the building blocks of .NET Framework applications; they form the fundamental unit of deployment, version control, reuse, activation scoping, and security permissions. An assembly is a collection of types and resources that are built to work together and form a logical unit of functionality. An assembly provides the common language runtime with the information it needs to be aware of type implementations. To the runtime, a type does not exist outside the context of an assembly.
And Assembly Benefits:
Assemblies are designed to simplify application deployment and to solve versioning problems that can occur with component-based applications.
To quote the MSDN article on assemblies: "Assemblies are the building blocks of .NET Framework applications; they form the fundamental unit of deployment, version control, reuse, activation scoping, and security permissions. An assembly is a collection of types and resources that are built to work together and form a logical unit of functionality."
An assembly in .NET is a unit of code that has been compiled together into a single executable, library, or module. Whenever you compile code, you will generate an assembly. I do not believe there is a way to use .NET code without using an assembly.
You can use reflection to learn about the types in an assembly as well as other metadata.