My version is better
[mono.git] / man / gacutil.1
1 ..\" 
2 .\" gacutil manual page.
3 .\" (C) 2004 Novell, Inc.
4 .\" Author:
5 .\"   Miguel de Icaza (miguel@gnu.org)
6 .\"
7 .de Sp \" Vertical space (when we can't use .PP)
8 .if t .sp .5v
9 .if n .sp
10 ..
11 .TH gacutil "Mono 1.0"
12 .SH NAME
13 gacutil \- Global Asssembly Cache management utility.
14 .SH SYNOPSIS
15 .PP
16 .B gacutil [-user] [command] [options] 
17 .SH DESCRIPTION
18 \fIgacutil\fP is a tool used by developers to install assemblies into
19 the system Global Assembly Cache (GAC) to become part of the
20 assemblies that are available for all applications at runtime.
21 .PP
22 Notice that they are not directly available to the compiler, the
23 convention is that assemblies must also be placed in a separate
24 directory for being accessed to the compiler.  This is done with the
25 -package directive to gacutil.
26 .PP
27 The tool allows for installationl, removal, and listing of the
28 contents of the assembly cache.
29 .PP
30 The GAC is relative to the Mono installation prefix:
31 mono_prefix/lib/mono.
32 .SH FLAGS
33 The "-user" flag enables you to install/remove the assembly into the
34 user's assembly cache, as opposed to the global one.
35 .PP
36 .SH COMMANDS
37 .I "-i path_to_assembly" [-f] [-root ROOTDIR] [-package NAME]
38 .Sp
39 The above installs the assembly into the GAC, use the -f flag to force
40 an installation an overwrite anything in there.  
41 .Sp
42 The -package option can be used to also create a directory in in
43 prefix/lib/mono with the name NAME, and a symlink is created from
44 NAME/assembly_name to the assembly on the GAC.  This is used so
45 developers can reference a set of libraries at once.
46 .Sp
47 The -root option is used by developers integrating this with automake
48 tools or packaging tools that require a prefix directory to be
49 specified.  The root represents the "libdir" component of a prefix
50 (typically prefix/lib).  
51 .fi
52 .PP
53 .I "-l"
54 .Sp
55 Lists the contents of the Global Assembly Cache
56 .PP
57 .I "-u assembly_name [-root]"
58 .Sp
59 The above removes the given assembly name from the Global Assembly
60 Cache.  As opposed to the install option that takes a filename, this
61 takes as an argument the assembly name, which looks like this:
62 .nf
63         MyLibrary.Something, version=1.0.0.0, publicKeyToken=xxxx,culture=neutral
64 .fi
65 .Sp
66 Notice that you can have spaces in the command line, there is no need
67 to quote them.
68 .Sp
69 The removal performs a greedy removal, if you only specifiy one
70 component like, "MyLibrary.Something", it will remove all versions of
71 the library.
72 .SH FILES
73 On Unix assemblies are loaded from the installation lib directory.  If you set
74 `prefix' to /usr, the assemblies will be located in /usr/lib.  On
75 Windows, the assemblies are loaded from the directory where mono and
76 mint live.
77 .PP
78 /etc/mono/config, ~/.mono/config
79 .PP
80 Mono runtime configuration file.  See the mono-config(5) manual page
81 for more information.
82 .SH WEB SITE
83 Visit: http://www.go-mono.com for details
84 .SH SEE ALSO
85 .BR mcs(1), mono(1)
86
87