.Net has an Assembly. Assembly is a single unit of deployment. Assemblies are used to maintain .dll's and .exe's. If there is a modification in the code then it is difficult to find out which was the modified code. In order to overcome this problem versioning was implemented in Assemblies. Hence versioning came into existence.