In the Microsoft .NET framework an assembly is a partially compiled code library for use in deployment, versioning and security. In the Microsoft Windows implementation of .NET, an assembly is a PE (portable executable) file.
The code in an assembly is compiled into MSIL, which is then compiled into machine language at runtime by the CLR.
An assembly can consist of one or more files. Code files are called modules. An assembly can contain more than one code module and since it is possible to use different languages to create code modules this means that it is technically possible to use several different languages to create an assembly.
You can find more assembly faqs at
.Net assemblies Faqs Thanks
Gurjinder Singh Brar
http://www.dotnetinterviewfaqs.com/