and all .NET projects that reference it will now use the new version.
No, this is called a DLL Hell. Applications refer to a specific version of the assembly. You can update the DLL and update the application that uses it. And do not crash the old application, which also uses this DLL, but has not been recompiled. You can do this with the GAC, as it can store multiple versions of the DLL. Or you can do it just as easily by saving the DLL in the same directory as the EXE application.
Assemblies in the GAC do not appear in the Add Link dialog box. Necessarily, you do not know what your user has saved in his GAC. Instead, you use the Browse tab on your development computer, so you'll be sure to use a specific DLL assembly.
GAC is important for companies that need to distribute security updates. Like Microsoft. This ensures that there are no unpacked copies of the DLL floating around. It is also important for the [ComVisible] collectors to solve the COM DLL Hell problem. What about that.
source share