If I add an assembly/DLL to the GAC, and now I have a new version of my DLL and I install it to the GAC, does the GAC maintain all versions? or if my DLL is called "MyDLL", then there can only be one "MyDLL" in the GAC and any app that uses "MyDLL" will get the version in the GAC?