pacelvi wrote:

    Secondly, .Net and the CLR were designed to mitigate the problems associated with sharing library code files that everyone calls DLL Hell, the GAC , if used improperly, reintroduces all the pitfalls that COM DLLs had

    Actually, the GAC is out there for solving the infamous DLL Hell problem, because GAC only allows assemblies signed with strong names to be installed into it, so it's impossible for an assembly to overwrite another assembly, because every signed assemblies have different strong names. signed assemblies have a lot of benefits, so sometimes using GAC is a good alternative.