[Mono-list] Some questions about shared assemlies, strong names...

Paolo Molaro lupus@ximian.com
Sat, 3 May 2003 16:37:12 +0200

On 05/03/03 Maurizio Colucci wrote:
> Does mono support the notion of shared assembly ,strong name, Global
> Assembly cache (GAC)?

We currently can produce assemblies that can be signed using the MS
tools (there is not enough documentation available to do the signing
ourselves, yet).
In mono there is something quite close to the GAC: you can specify a
set of paths to directories where assemblies will be looked for
(MONO_PATH). The assemblies in MONO_PATH are effectively shared.
We currently don't enforce the strong names. Basically mono
supports the part of the GAC that is useful;-)

> Does mono have something like ILDASM, a disassembler? Is there a
> command line tool to read the metadata in an assembly?

Run "monodis assembly" to disassemble.
Run "monodis --help" (or read the fine man page) to get the list of
options: monodis can output a decoded version of most (all) of the
metadata tables. The separate program pedump gives some other
information as well.

> Does mono support versioning (the tags that you put in
> AssemblyInfo.cs)?

The version info is saved to the assemblies and you can read it back.
Note that in the CLR, the version info has a meaning only when the
assembly is strong signed (and since we don't sign the assemblies, we
don't enforce the versions).

It is not yet clear home much the strong names/version stuff is actually
useful for free software code: we'll supprot it sometime in the future,
but it's not a priority for us. Anyone is welcome to send patches to
make it happen sooner if they are interested in the features:-)


lupus@debian.org                                     debian/rules
lupus@ximian.com                             Monkeys do it better