[MonoDevelop] [PATCH] GAC references from real GAC

Joshua Tauberer tauberer at for.net
Sat Aug 13 10:38:59 EDT 2005


Todd Berman wrote:
> Because the GAC is not a valid referencable target for compiling.

Post-build actions aren't a valid command-line argument to mcs either, 
but MD does it. :)

I've never really accepted this idea that the GAC should never be used 
for development.  When I'm developing against gtk-sharp, for instance, I 
have a particular version of the API in mind to target, say version 2 
It doesn't matter where the compiler gets this file.  As long as the 
file is strong-named "gtk-sharp, Version=2.6.0.0, Culture=neutral, 
PublicKeyToken=35e10195dab3c99f" then it has the correct public 
interface for me to compile against.

I know there are corner cases where you would want to reference a 
particular file on disk, and I'm not saying people shouldn't do that. 
But in most instances of using strong-named assemblies, it is sufficient 
to use an assembly name, like above, and let the IDE or compiler figure 
out where to get the file.  That is, if the file was properly 
strong-named and GACed, then any file with that strong-name should be 
equivalent to the compiler.

Now, since we already have a mechanism, the GAC, for looking up the 
location of an assembly given its strong name, I don't see why we don't 
let people use it (both in mcs and in MD).  And if an assembly is GACed, 
I don't see at all what having a pc file does (besides the -pkg option 
to mcs).

-- 
- Joshua Tauberer

http://taubz.for.net

** Nothing Unreal Exists **




More information about the Monodevelop-list mailing list