[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