[Mono-dev] gacutil problem
Jonathan Pryor
jonpryor at vt.edu
Wed Jan 11 07:44:09 EST 2006
On Tue, 2006-01-10 at 10:35 -0500, Joshua Tauberer wrote:
> Something about mcs not using the GAC to find assemblies, but only
> looking at 'installed' packages with .pc files, or in
> /usr/lib/mono/1.0/. You could specify the full path, or use -L.
>
> Could we reevaluate exactly why we avoid using the GAC at compile time?
> Lots of people have been confused by this behavior, I still don't
> understand how looking in particular places besides the GAC is any
> better than additionally looking in the particular place named the GAC.
> If the developer is concerned about the version of the assembly found,
> he should be able to put the version in the /r option, and not rely on
> the right version (and no other version) actually being 'installed'.
One word: Compatibility. CSC.EXE wouldn't understand such a syntax, and
we cannot simulate such a syntax either. At least with `mcs -pkg:pkg`
you can always use `CSC.EXE $(pkg-config --libs pkg)`, thus providing a
mental mapping from mcs to CSC.
Extending /r to do GAC lookups couldn't be simulated at all with CSC.
Extending /r would also be ugly-as-hell (the /r reference would require
the public key token and major.minor version at minimum), e.g.
mcs "/r:gtk-sharp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f"
Imagine doing that for all your assembly references. Blech!
IIRC NAnt also raised some issues with this approach.
See also:
http://lists.ximian.com/pipermail/mono-devel-list/2004-May/005294.html
http://lists.ximian.com/pipermail/mono-devel-list/2004-May/005227.html
(And probably more threads that I'm forgetting, this was discussed a
lot.)
- Jon
More information about the Mono-devel-list
mailing list