[Mono-devel-list] GAC (design) issues
Ian MacLean
ianm at ActiveState.com
Mon May 3 11:54:04 EDT 2004
Todd Berman wrote:
> <>
>
>>why does mcs need to probe ? Just pass
>>\r:/usr/lib/LIBRARYNAME-VERSION.dll or \r:/opt/foo/assemblyname.dll or
>>whatever. gcc doesn't probe to find .h files so why should mcs.exe need
>>to probe to find assembly references ?
>>
>>
>>
> <>
> Well, the idea would be to provide a workable robust solution, obviously
> proper usage of pkg-config and PKG_CONFIG_PATH would solve this.
sounds very reasonable. Your knowledge in this area is much greater than
mine.
> <>
>
>>except that now you have to know the public key token in order to
>>generate a file based reference rather than just using a known base
>>path. The other issue is 3rd party compilers ( nemerle, ikvm etc ) that
>>will also have to implement this auto gac probing mechanism to work on mono.
>>
>>
>>
>
>That is absolutely not true :) But also unimportant.
>
>
>
Ok which part is untrue ? If a given assembly is located *only* in the
gac then its path will be somthing like:
$PREFIX/lib/mono/gac/$ASSEMBLYNAME/$VERSION__$PUBTOKEN/$ASSEMBLYNAME. To assemble that path to pass to a compiler you will have to know both version number and public token won't you ? Note that I said 'file based reference' above.
and the nemerle compiler would need to be passed either /r:$PREFIX/lib/mono/gac/$ASSEMBLYNAME/$VERSION__$PUBTOKEN/$ASSEMBLYNAME or else know how to resolve /r:ASSEMBLYNAME.dll to its gac location - as the current mcs.exe is doing. Thats my understanding anyway - I'm totally open to being corrected.
>>If we can agree that storing a seperate copy of assemblies that reside
>>in the gac for the purposes of referencing them is a reasonable thing to
>>do then we'll have made a good start.
>>
>>
>>
>>
>
>I have always felt that it was a good idea, and for the most part have
>been attempting to convince myself that its not needed. Jackson and I
>touched on this on irc for a bit, and Miguel has also been spoken with
>briefly about it.
>
>
>
Excellent. That sounds like we agree on the principles and its the
particular layout ( prefixes and whatnot ) that needs deciding. Not that
I'm triviallizing the effort that it will take to get it right.
Ian
More information about the Mono-devel-list
mailing list