An assembly contains code in an intermediate format called Microsoft Intermediate Language (MSIL) and it generates from a compiler like Visual Studio.
All compilers for .NET Framework generate code in this format, regardless of the programming language that was used to write an application. This enables the CLR to run code in the same way, regardless of the language that the developer used.
Assemblies are the building blocks of NET. Framework applications; they form the fundamental unit of deployment, version control, reuse and security. An assembly can be of two types: an executable code that other programs can reuse. By using a library, developers can modularize the development of their applications into logical components.
Assembly signing is an important step that developers should include in their build process because it provides the following benefits:
- It protects assemblies from modification.
- It enables you to include the signed assembly in the global assembly cache (GAC) , so you can share the assembly with multiple applications.
- It guarantees that the name of the assembly is unique.
- To sign your assembly, you can use the Sign Tool that provided with the .NET Framework, or you can use the assembly- signing functionality in Visual Studio.
- Major version number
- Minor version number
- Build number
- Revision number