[Mono-devel-list] CVS users - changes to assemblies signing

Sébastien Pouliot spouliot at videotron.ca
Wed Jun 9 15:46:12 EDT 2004

Hello everyone,

Up to now (beta1 and beta2) Mono assemblies have been delay-signed - that
is: they have a public key (and token) but no signature. This allowed the
assemblies to be installed in the new Mono GAC. However the current
situation is problematic if you want to use some Mono assemblies (like Gtk#
or Mono.Security) on the MS runtime (which by default will refuse to load
delay-signed assemblies).

We are now starting to fully sign the assemblies. The process selected is
the one that should be the easiest for developers - most CVS users should
see the difference to build mono/mcs/... To do so the private keys (for both
Mono and Gtk#) have been commited to CVS. For Mono the "real" signing
process will be made when you do a "make install" (the sn.exe tool will be
called just before gacutil.exe). Gtk# assemblies can be signed during

The sn.exe tool requires an updated machine.config file to sign some
"special" assemblies (the one that we don't have the "real" private keys).
The machine.config file in CVS (/mono/data/machine.config) has been updated
with this information. It should install when doing a "make install" in
/mono. If not then you'll need to update your machine.config file(s)


* If you see the message "Couldn't sign the assembly
../../class/lib/default/[assembly].dll with this key pair." during "make

	Make sure that your machine.config file is up-to-date with
	This isn't an immediate problem as gacutil doesn't validate the signature
(but will soon) so the build will complete.

* If you have other errors during "make install" in mcs please:

	* Make sure that your machine.config file is up-to-date with
	* Do a "make" and "make install" in the /mcs/tools/ directory (to update
	* Finally, post the error message on "mono-devel-list".

Sebastien Pouliot

More information about the Mono-devel-list mailing list