GacUninstallTask Class

Summary

Uninstalls assemblies from the Global Assembly Cache (GAC) by using the gacutil SDK tool.
Assembly
NAnt.Contrib.dll
Namespace
NAnt.Contrib.Tasks
Base Types
graph BT Type-->Base0["GacTaskBase"] click Base0 "/api/NAnt.Contrib.Tasks/GacTaskBase" Base0-->Base1["ExternalProgramBase"] Type["GacUninstallTask"] class Type type-node

Syntax

[ProgramLocation(LocationType.FrameworkSdkDir)]
[TaskName("gac-uninstall")]
public sealed class GacUninstallTask : GacTaskBase

Examples

Uninstalls Shared assembly from the GAC.

    <gac-uninstall>
       <assemblies>
           <assembly name="Shared" />
       </assemblies>
</gac-uninstall>

Uninstalls Shared and MyWeb from the GAC.

    <gac-uninstall>
       <assemblies>
           <assembly name="Shared" />
           <assembly name="MyWeb" />
       </assemblies>
</gac-uninstall>

Decrements references to Shared in the GAC and uninstalls if the reference count reaches zero.

    <gac-uninstall>
    <reference scheme-type="Opaque" scheme-id="MyID" scheme-description="My description" />
       <assemblies>
           <assembly name="Shared" />
       </assemblies>
</gac-uninstall>

Uninstalls version 2.1.7.9201 of Shared plus the Australian-cultured MyWeb from the GAC.

    <gac-uninstall>
       <assemblies>
           <assembly name="Shared" version="2.1.7.9201" />
           <assembly name="MyWeb" culture="en-AU" />
       </assemblies>
</gac-uninstall>

Uninstalls the neutrally-cultured, version 1.0.5000.0 of System.Xml from the native image cache. The assembly must also have a public key token of b77a5c561934e08a to be uninstalled.

    <gac-uninstall native="true">
       <assemblies>
           <assembly name="System.Xml" version="1.0.5000.0" public-key-token="b77a5c561934e08a" culture="Neutral" />
       </assemblies>
</gac-uninstall>

Remarks

Assemblies are specified via an NAnt.Contrib.Types.AssemblySet. Individual assemblies are specified by their identity information. Only a name is required but, optionally, the assembly version, culture and public key token may be specified.

Assemblies can be uninstalled from the GAC with or without reference counting. The full details of reference counting can be found in the SDK documentation.

Attributes

Type Description
ProgramLocation
TaskName

Constructors

Name Summary
GacUninstallTask() Constructs an instance of the GacUninstallTask.

Properties

Name Value Summary
Assemblies AssemblySet
Specifies the assemblies to uninstall.
AssemblyList ICollection
Gets the assembly list to uninstall.
CurrentAssembly string
Gets the current assembly being operated against.
Inherited from GacTaskBase
ExeName string
Gets the executable name for the gacutil command-line tool.
Inherited from GacTaskBase
Force bool
If true, the specified assemblies will be forcibly removed from the GAC. All references to the specified assemblies will be removed from the GAC prior to removing the assemblies themselves. The default is false.
Managed ManagedExecution
Gets a value indiciating whether the external program is a managed application which should be executed using a runtime engine, if configured.
Inherited from GacTaskBase
Native bool
If true, specifies that the assemblies should be uninstalled from the native image cache. The default is false.
ProgramArguments string
Gets the program arguments with which to run the gacutil process.
Inherited from GacTaskBase
Reference GacReference
Specifies reference details to use when working with the GAC.
Inherited from GacTaskBase
ReferenceSpecified bool
Specifies whether a reference was specified for the GAC task.
Inherited from GacTaskBase

Methods

Name Value Summary
AppendProgramArguments(StringBuilder) void
Appends any install-specific arguments.
BeforeExecuteTask() void
Outputs log information.
ExecuteTask() void
Executes the task.
Inherited from GacTaskBase
Initialize() void
Validates the task's configuration.
Inherited from GacTaskBase
StartProcess() Process
Starts the process that is wrapped by this GAC task.
Inherited from GacTaskBase