+5  A: 

No - the GAC is the place where you place assemblies that you specifically want to be available globally.

davek
Correct. For example, I write ASP.NET MVC applications. The ASP.NET MVC DLL is in the GAC, but my application DLL is in the bin directory.
Robert Harvey
+1 For example all .net-classes are in the GAC and you do not have to code .net in the GAC
Oskar Kjellin
yes, but where do they find the assemblies they depend upon?
gbjbaanb
I think some people are missing the point of the question. If an assembly is in the GAC, do any assemblies it references also need to be present in the GAC? I would think yes.
Kent Boogaart
@Oskar Kjellin, yes but you call the base class libraries, they don't call you.
ParmesanCodice
So for a dll (which is in the GAC) that brings up a form (e.g. WinForm) that has 3rd party controls, don't these controls needs to be in the GAC?
AngryHacker
I misread the question. I take back my comment :)
Oskar Kjellin
+9  A: 

An assembly in the GAC does not know about the private locations of your private assemblies. It is only aware about the GAC itself. So it can refer to the assemblies that are available in the GAC only

KhanS
I see what you are saying. But can't you hook a callback event in the GAC, and have your application DLL called that way?
Robert Harvey
@Robert: that would be a runtime dependency, not a compile-time one. It's an ambiguous question I know, but I took it to mean a compile-time dependency.
Kent Boogaart