man ilgac (Commandes) - manage the Portable.NET assembly cache

NAME

ilgac - manage the Portable.NET assembly cache

SYNOPSIS

ilgac [ options ] [ assembly [ version ] ]

DESCRIPTION

Ilgac manages the Portable.NET assembly cache, allowing library assemblies to be installed, uninstalled, or listed.

OPTIONS

-i, --install
Install the specified assemblies into the cache. See the section "INSTALLING ASSEMBLIES" below for more information.
-u, --uninstall
Uninstall the specified assemblies from the cache. See the section "UNINSTALLING ASSEMBLIES" below for more information.
-l, --list
List the contents of the assembly cache. See the section "LISTING ASSEMBLIES" below for more information.
-f, --force
Force installation to proceed even if there is an existing assembly with the specified name and version.
-d, --default
Install the assembly as the fallback default version. When used with `--list', this will list the fallback default versions in addition to the regular assembly versions.
-L, --link
Create a symbolic link within the cache rather than copying the assembly.
-S DIR, --subdir DIR
Specify a resource sub-directory (e.g. "de").
-c DIR, --cache DIR
Specify the location of the assembly cache.
-s, --silent
Do not print status messages.
--help
Print a usage message for the ilgac program.
-v, --version
Print the version of the ilgac program.
--
Marks the end of the command-line options, and the beginning of the input filenames. You may need to use this if your filename begins with '-'. e.g. "ilgac -i -- -input.dll".

INSTALLING ASSEMBLIES

In the examples that follow, we assume that the assemblies have the version number `1.2.3400.0' unless otherwise stated.

The following command-line installs the assembly `foobar.dll' within the assembly cache and makes it the default version:

ilgac --install --default foobar.dll

This will create the following file and symbolic link under the top-level cache directory:
1.2.3400.0/foobar.dll
foobar.dll -> 1.2.3400.0/foobar.dll

Note: if the assembly version number is `0.0.0.0', then the assembly will be stored in the main directory without a symbolic link.

You can install an older version (1.1.5000.0) of `foobar.dll' side by side by omitting the `--default' option:

ilgac --install foobar.dll

After installing both, the assembly cache directory structure will look like this:
1.1.5000.0/foobar.dll
1.2.3400.0/foobar.dll
foobar.dll -> 1.2.3400.0/foobar.dll

The runtime engine, ilrun(1), will first look in the version sub-directory for an exact match. If a match is not found, it will then look for the default version in the top-level cache directory.

If you had a satelite resource assembly for German, then you would install it as follows:

ilgac --install --default --subdir de foobar.resources.dll

After all of the above commands, the directory structure will appear as follows:
1.1.5000.0/foobar.dll
1.2.3400.0/foobar.dll
1.2.3400.0/de/foobar.resources.dll
foobar.dll -> 1.2.3400.0/foobar.dll
de/foobar.resources.dll -> 1.2.3400.0/de/foobar.resources.dll

You can install multiple assemblies at once by specifying them one at a time on the command-line:
ilgac --install --default foobar.dll example.dll

UNINSTALLING ASSEMBLIES

The easiest way to uninstall an assembly is to specify its name and version number:

ilgac --uninstall foobar 1.2.3400.0

This will search the assembly cache for a match and remove the corresponding assembly. If the assembly is registered as a default fallback, then the default symbolic link will also be removed.

If the version number is unknown, you can retrieve it from an existing assembly with the same version. For example:

ilgac --uninstall foobar.dll

LISTING ASSEMBLIES

The entire contents of the assembly cache can be listed using the following command:

ilgac --list

Normally, only the main version of an assembly is listed - symbolic links for default versions are omitted. They can be included in the output by specifying the `--default' command-line option.

You can list all assemblies that match particular name or version combinations as follows:

ilgac --list foobar
ilgac --list 1.2.3400.0
ilgac --list foobar 1.2.3400.0 example 1.1.5000.0

AUTHOR

Written by Southern Storm Software, Pty Ltd.

http://www.southern-storm.com.au/

SEE ALSO

DIAGNOSTICS

Exit status is 1 if an error occurred while processing the input. Otherwise the exit status is 0.

BUGS

Under Windows, the default versions of assemblies are always stored in the main cache directory because it isn't possible to create symbolic links.