DLL Hell: -
This is a problem in loading a specific dll (class id, version number, path etc). For example, if I
build test.dll v126.96.36.199 and deploying it in c:\MyProg. My application App1 and App2 are using the methods in that dll. And there is a requirement to change something in App1 and I supposed to change test.dll also for the same requirement. Once I finished with all my changes, I will be deploying them in the appropriate locations. Now, the older dll will be overwritten. And my App2 will look for test.dll of older version and since it is not there it will not work. This is a scenario for dll hell issue.Net Framework provides operating systems with a Global Assembly Cache. This Cache is a repository for all the .Net components that are shared globally on a particular machine. When a .Net component is installed onto the machine, the Global Assembly Cache looks at its version, its public key, and its language information and creates a strong name for the component. The component is then registered in the repository and indexed by its strong name, so there is no confusion between different versions of the same component, or DLL.