This commit was manufactured by cvs2svn to create branch 'mono-1-0'.
[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 installation, 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 .PP
33 .SH COMMANDS
34 .I -i <assembly_path> [-check_refs] [-package NAME] [-root ROOTDIR] [-gacdir GACDIR]
35 .Sp
36  Installs an assembly into the global assembly cache. <assembly_path>
37 is the name of the file that contains the assembly manifest
38 .Sp
39 The -package option can be used to also create a directory in in
40 prefix/lib/mono with the name NAME, and a symlink is created from
41 NAME/assembly_name to the assembly on the GAC.  This is used so
42 developers can reference a set of libraries at once.
43 .Sp
44 The -root option is used by developers integrating this with automake
45 tools or packaging tools that require a prefix directory to be
46 specified.  The root represents the "libdir" component of a prefix
47 (typically prefix/lib).
48 .Sp
49 The -gacdir option is used to specify the GACs base directory. Once an
50 assembly has been installed to a non standard gacdir the MONO_GAC_PATH
51 environment variable must be used to access the assembly.
52 .Sp
53 The -check_refs option is used to ensure that the assembly being
54 installed into the GAC does not reference any non strong named
55 assemblies. Assemblies being installed to the GAC should not reference
56 non strong named assemblies, however the is an optional check.
57 .fi
58 .PP
59 .I "-l" [assembly_name] [-root ROOTDIR] [-gacdir GACDIR]
60 .Sp
61 Lists the contents of the global assembly cache. When the
62 <assembly_name> parameter is specified only matching assemblies are
63 listed.
64 .PP
65 .I "-u" <assembly_display_name> [-package NAME] [-root ROOTDIR] [-gacdir GACDIR]
66 .Sp
67 Uninstalls an assembly from the global assembly cache.
68 <assembly_display_name> is the name of the assembly (partial or
69 fully qualified) to remove from the global assembly cache. If a
70 partial name is specified all matching assemblies will be
71 uninstalled. As opposed to the install option that takes a filename,
72 this takes as an argument the assembly name, which looks like this:
73 .nf
74         MyLibrary.Something, version=1.0.0.0, publicKeyToken=xxxx,culture=neutral
75 .fi
76 .Sp
77 Notice that you can have spaces in the command line, there is no need
78 to quote them.
79 .Sp
80 The removal performs a greedy removal, if you only specifiy one
81 component like, "MyLibrary.Something", it will remove all versions of
82 the library.
83 .Sp
84 .I "-us" <assembly_path> [-package NAME] [-root ROOTDIR] [-gacdir GACDIR]
85 Uninstalls an assembly using the specifed assemblies full name.
86 <assembly path> is the path to an assembly. The full assembly name
87 is retrieved from the specified assembly if there is an assembly in
88 the GAC with a matching name, it is removed. Unlike the -u option this
89 option takes a file name, like this:
90 .nf
91         Example: -us myDll.dll
92 .fi
93 .Sp
94 .I "-ul" <assembly_list_file> [-package NAME] [-root ROOTDIR] [-gacdir GACDIR]
95 Uninstalls one or more assemblies from the global assembly cache.
96 <assembly_list_file> is the path to a test file containing a list of
97 assembly names on separate lines.
98 .nf
99 Example -ul assembly_list.txt
100 .fi
101 .nf
102 assembly_list.txt contents:
103     assembly1,Version=1.0.0.0,Culture=en,PublicKeyToken=0123456789abcdef
104     assembly2,Version=2.0.0.0,Culture=en,PublicKeyToken=0123456789abcdef
105 .fi
106 .SH FILES
107 On Unix assemblies are loaded from the installation lib directory.  If you set
108 `prefix' to /usr, the assemblies will be located in /usr/lib.  On
109 Windows, the assemblies are loaded from the directory where mono and
110 mint live.
111 .PP
112 /etc/mono/config, ~/.mono/config
113 .PP
114 Mono runtime configuration file.  See the mono-config(5) manual page
115 for more information.
116 .SH WEB SITE
117 Visit: http://www.go-mono.com for details
118 .SH SEE ALSO
119 .BR mcs(1), mono(1)
120
121