The question says it all.
views:
126answers:
2
+5
A:
No - the GAC is the place where you place assemblies that you specifically want to be available globally.
davek
2010-04-12 18:22:25
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
2010-04-12 18:23:13
+1 For example all .net-classes are in the GAC and you do not have to code .net in the GAC
Oskar Kjellin
2010-04-12 18:23:18
yes, but where do they find the assemblies they depend upon?
gbjbaanb
2010-04-12 18:23:39
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
2010-04-12 18:27:12
@Oskar Kjellin, yes but you call the base class libraries, they don't call you.
ParmesanCodice
2010-04-12 18:29:18
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
2010-04-12 18:30:23
I misread the question. I take back my comment :)
Oskar Kjellin
2010-04-12 19:03:22
+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
2010-04-12 18:25:19
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
2010-04-12 18:28:16
@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
2010-04-12 18:46:23