Reply to Message
It's the versioning part
You can register multiple versions of a DLL with the GAC. Notice that is NOT the same as multiple files in the same folder. I don't know the internals of the GAC but when you register a DLL, I am sure it's storing it somewhere with some weird unique name. We don't care where it's stored or how it's stored, what matters is that the GAC is now tracking it. When your application runs, it will look in it's own folder first. If it can't find the DLL, it will look in the GAC. Your application can also be configured to request a particular version of a DLL. This is where the GAC works the magic. You could have multiple versions of a DLL registered and avoid breaking other applications that share it since they can now co-exist and use the appropriate version.