The Global Assembly Cache or GAC is a machine-wide DotNetAssemblies cache for Microsoft's CommonLanguageRuntime platform. The approach of having a specially controlled central repository addresses the shared library concept and helps to avoid pitfalls of other solutions that lead to drawbacks like DllHell.