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.
An assembly is a different name for the executable files in .Net. A .NET executable is actually the source code of an IL (Intermediate Language) program
Just in time compiler in .net is---
When a .net assembly is executed, u r actually calling the CLR (common language runtime ) to compile the assembly into native code (IL) called the JIT.
In .NET, every assembly starts with something called a manifest that contains metadata (data about data) telling the CLR what it needs to know to execute the assembly instructions.
Assemblies can be static or dynamic. Static assemblies can include .NET Framework types (interfaces and classes), as well as resources for the assembly (bitmaps, JPEG files, resource files, and so on). Static assemblies are stored on disk in portable executable (PE) files. You can also use the .NET Framework to create dynamic assemblies, which are run directly from memory and are not saved to disk before execution. You can save dynamic assemblies to disk after they have executed.
You can run different versions of the same assembly with same name but different version side by side.
An Asssembly can be a private or shared.
If an assembly is to be shared among several programs then it need to be shared in GAC. To put an assembly in GAC, it should have a strong name.
http://visualbasic.about.com/od/usingvbnet/a/asmnet01_2.htm
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.
An assembly is a different name for the executable files in .Net. A .NET executable is actually the source code of an IL (Intermediate Language) program
Just in time compiler in .net is---
When a .net assembly is executed, u r actually calling the CLR (common language runtime ) to compile the assembly into native code (IL) called the JIT.
In .NET, every assembly starts with something called a manifest that contains metadata (data about data) telling the CLR what it needs to know to execute the assembly instructions.
Assemblies can be static or dynamic. Static assemblies can include .NET Framework types (interfaces and classes), as well as resources for the assembly (bitmaps, JPEG files, resource files, and so on). Static assemblies are stored on disk in portable executable (PE) files. You can also use the .NET Framework to create dynamic assemblies, which are run directly from memory and are not saved to disk before execution. You can save dynamic assemblies to disk after they have executed.
You can run different versions of the same assembly with same name but different version side by side.
An Asssembly can be a private or shared.
If an assembly is to be shared among several programs then it need to be shared in GAC. To put an assembly in GAC, it should have a strong name.
Assembly Manifest |
Every assembly, whether static or dynamic, contains a collection of data that
describes how the elements in the assembly relate to each other. The assembly
manifest contains this assembly metadata. An assembly manifest contains all the
metadata needed to specify the assembly's version requirements and security
identity, and all metadata needed to define the scope of the assembly and
resolve references to resources and classes. The assembly manifest can be stored
in either a PE file (an .exe or .dll) with Microsoft intermediate language
(MSIL) code or in a standalone PE file that contains only assembly manifest
information.