[Mono-devel-list] Re: Potential GAC implementation ideas.

Todd Berman tberman at gentoo.org
Thu Oct 23 18:33:32 EDT 2003


Alright, this applies to you, and to Michal (who already got an email about
this)

Please, please please please please, read the initial email that started
this thread.

It details exactly the same things you both are talking about, and it
emulates ms' method exactly.

Now, the more recent and long part of this thread is about how a packager
can get his assembly to the gac.

I will reiterate. As a packager, feel free to directly insert this assembly
into the gac via copying with RPM, HOWEVER, don't expect this method to
always work.

This is akin to using private member functions via reflection.

--Todd

> -----Original Message-----
> From: mono-devel-list-admin at lists.ximian.com [mailto:mono-devel-list-
> admin at lists.ximian.com] On Behalf Of Jonathan Hogg
> Sent: October 23, 2003 6:29 PM
> To: mono-devel
> Subject: Re: [Mono-devel-list] Re: Potential GAC implementation ideas.
> 
> On 23/10/2003 22:52, Peter Williams wrote:
> 
> > But the whole point is not to put assemblies in /usr/lib due to name
> > conflicts and general cleanliness, right? I think we all agree that
> > hard-coding the system-specific destination path sucks:
> >
> > /usr/lib/monogac/HelperAssembly/magicnumbers24134/HelperAssembly.dll
> >
> > But we have to tell RPM to put the file *somewhere*. Maybe:
> >
> > /usr/lib/MyMonoProgram/HelperAssembly.dll
> 
> I'm confused as to why this has to be done. The packager always knows the
> version number of the DLL being installed. It's part of the strong name,
> just not part of the filename. So make it part of the filename:
> 
>     /usr/lib/monogac/HelperAssembly/1.0.3.456/HelperAssembly.dll
> 
> 1.0.3.456 is not a magic number, it's a quite clearly defined and well
> understood number.
> 
> The above is cross-platform to any UNIX and, besides the prefix and
> path-separators, Windows.
> 
> When the cache tool is run it creates:
> 
>     /usr/lib/monogac/HelperAssembly/1.0.3.456/HelperAssembly.so
> 
> and updates
> 
>     /usr/lib/monogac/cache.db
> 
> (or something similar).
> 
> How, exactly, is the process of installing a DLL into the GAC different to
> installing
> 
>     /usr/lib/libfoo.so.1.3.5
> 
> and running ldconfig?
> 
> [The above can of course, also be extended to include the public key
> portion
> of a strong name if that is necessary to differentiate DLLs (can two
> identically named/numbered DLLs with differing keys be put in the GAC?).]
> 
> Jonathan
> 
> --
> Jonathan Hogg
> Director
> 
> One Good Idea Ltd.
> 
> <http://www.onegoodidea.com/>
> 
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list




More information about the Mono-devel-list mailing list