Application development as the name suggest is a development process. With time, new functionality is added to current applications and hence different versions of the application come to existence. Application development for quite sometime has been focused towards component oriented development. Hence an upgrade of the application definitely means an upgrade of the components. These components need to be versioned along with the application. Often components alone can face an upgrade-offering new functionality. When this happens, existing clients face a problem when the component they reference is upgraded. Net assemblies attempt to solve this problem by embedding the version information into the assembly itself. With the advanced capabilities of Windows 2000, two different assemblies can be loaded into the memory side-by-side.
we shall take a look at how developers can set version numbers for their .Net Assemblies and how these assemblies can be loaded side-by-side.
Versioning a .NET Assembly
An assembly version is a number, which basically consist of four parts. These four parts are
Major/Minor Number: If there is a change in major or minor number, it indicates that the assembly is incompatible with the previous version of that assembly.
Revision Number: If there is a change in revision number, it indicates that the assembly may be compatible with the previous version of that assembly.
Build Number: If there is a change in build number, it indicates that a very minor change has been made to the assembly.
Version numbers for an assembly are set in AssemblyInfo.cs file (located in solution explorer of VS.NET).
The assemblyinfo.cs file contains assembly attributes for setting various metadata values for the assembly like company name, copyright statement and kind. The file also contains an assembly version attribute, which can be used to set the version number of the assembly.