[Mono-devel-list] GAC (design) issues - A Simple solution

A Rafael D Teixeira rafaelteixeirabr at hotmail.com
Mon May 3 11:58:46 EDT 2004


The meat of the question seems to be that Mono wants to save some bytes on 
dlls, but that breaks the assumptions for resolution of references. I think 
we can have a middle ground.

When gacutil is executed to add an assembly one normally has to write 
something like.

/usr/bin/gacutil /i monodoc.dll /f /root /opt/cli/monodoc/lib

so we have two possible solutions:

1 - save in the gac/runtime that /root information and programatically 
resolve references by searching the concatenated root + dllname. This is a 
safer approach but I think performance  may become an issue, with a large 
number of gac entries.

How-to: Assembly.LoadFrom lookups /opt/cli/monodoc/lib/monodoc.dll and comes 
with the assembly in the gac

2 - create a dllname-named symlink in the /root path to the gac version. The 
issue here is keeping the symlinks pointing to the correct place...

How-to: gacutil creates symlink /opt/cli/monodoc/lib/monodoc.dll -> 
/{$prefix}/lib/mono/gac/monodoc/1.0.2004.29241__0738eb9f132ed756/monodoc.dll

What do you all people think?

Rafael "Monoman" Teixeira
Mono Hacker since 16 Jul 2001 - http://www.go-mono.org/
MonoBrasil Founding Member - Membro Fundador do MonoBrasil 
http://monobrasil.softwarelivre.org
English Blog: http://monoblog.blogspot.com/
Brazilian Portuguese Blog: http://monoblog.weblogger.terra.com.br/

_________________________________________________________________
MSN Messenger: instale grátis e converse com seus amigos. 
http://messenger.msn.com.br




More information about the Mono-devel-list mailing list