Strumento Global Assembly Cache (Gacutil.exe)

Aggiornamento: novembre 2007

Lo strumento Global Assembly Cache consente di visualizzare e modificare il contenuto della Global Assembly Cache e la cache di download.

gacutil [options] [assemblyName | assemblyPath | assemblyListFile]

Parametri

Argomento

Descrizione

Nomeassembly

Il nome di un assembly. È possibile fornire un nome di assembly parzialmente specificato quale myAssembly o un nome di assembly completamente specificato, quale myAssembly, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0038abc9deabfle5.

Percorsoassembly

Il nome di un file contenente un manifesto dell'assembly.

FileElencoassembly

Il percorso di un file di testo ANSI che elenca gli assembly da installare o disinstallare. Per utilizzare un file di testo per installare assembly, specificare il percorso di ciascun assembly in una riga separata del file. Verranno interpretati i percorsi relativi rispetto alla posizione di FileElencoassembly. Per utilizzare un file di testo per disinstallare assembly, specificare il nome di assembly completo per ogni assembly in una riga separata del file. Vedere gli esempi di contenuto di FileElencoassembly più avanti in questo argomento.

Opzione

Descrizione

/cdl

Elimina il contenuto della cache di download.

/f

Specificare questa opzione con le opzioni /i o /il per forzare la reinstallazione di un assembly. Se un assembly con lo stesso nome esiste già nella Global Assembly Cache, verrà sovrascritto.

/h[elp]

Visualizza la sintassi e le opzioni dei comandi dello strumento.

/i Percorsoassembly

Installa un assembly nella Global Assembly Cache.

/if Percorsoassembly

Installa un assembly nella Global Assembly Cache. Se un assembly con lo stesso nome esiste già nella Global Assembly Cache, verrà sovrascritto.

Specificare questa opzione equivale a specificare contemporaneamente le opzioni /i e /f.

/il FileElencoassembly

Installa uno o più assembly specificati in FileElencoassembly nella Global Assembly Cache.

/ir Percorsoassembly

schema

id

descrizione

Installa un assembly nella Global Assembly Cache e aggiunge un riferimento per contare l'assembly. Con questa opzione è necessario specificare i parametri assemblyPath, scheme, ide description. Per una descrizione dei valori validi che è possibile specificare per questi parametri, vedere l'opzione /r.

Specificare questa opzione equivale a specificare contemporaneamente le opzioni /i e /r.

/l [Nomeassembly]

Elenca il contenuto della Global Assembly Cache. Se si specifica il parametro Nomeassembly, nello strumento vengono elencati solo gli assembly che corrispondono a quel nome.

/ldl

Elenca il contenuto della cache dei file scaricati.

/lr [Nomeassembly]

Elenca tutti gli assembly e i conteggi dei riferimenti corrispondenti. Se si specifica il parametro Nomeassembly, lo strumento elencherà solo gli assembly che corrispondono al nome e i conteggi dei riferimenti corrispondenti.

/nologo

Evita la visualizzazione del messaggio di avvio Microsoft.

/r [Nomeassembly | Percorsoassembly]

schema

id

descrizione

Specifica un riferimento di cui si tiene traccia a uno o più assembly da installare o disinstallare. Specificare questa opzione con le opzioni /i, /il, /u o /ul.

Per installare un assembly, specificare i parametri assemblyPath, scheme, ide description con questa opzione. Per disinstallare un assembly, specificare i parametri assemblyName, scheme, ide description.

Per rimuovere un riferimento a un assembly, è necessario specificare gli stessi parametri schema, id e descrizione specificati con le opzioni /i e /r (o /ir) al momento dell'installazione dell'assembly. Se si sta disinstallando un assembly, viene rimosso anche l'assembly dalla Global Assembly Cache se si tratta dell'ultimo riferimento da rimuovere e se in Windows Installer non ci sono riferimenti residui all'assembly.

Il parametro schema specifica il tipo di schema di installazione. È possibile specificare uno dei valori riportati di seguito:

  • UNINSTALL_KEY: specificare questo valore se l'applicazione viene aggiunta a Installazione applicazioni di Windows. La applicazioni si aggiungono a Installazione applicazioni aggiungendo una chiave del Registro di sistema a HKLM\Software\Microsoft\Windows\CurrentVersion.

  • FILEPATH: specificare questo valore se l'applicazione non viene aggiunta a Installazione applicazioni.

  • OPAQUE: specificare questo valore se l'inserimento di una chiave del Registro di sistema o di un percorso di file non è applicabile al proprio scenario di installazione. Questo valore consente di specificare informazioni personalizzate per il parametro id.

Il valore da specificare per il parametro id dipende dal valore specificato per il parametro schema:

  • Se si specifica UNINSTALL_KEY per il parametro schema, specificare il nome del set di applicazioni nella chiave del Registro di sistema HKLM\Software\Microsoft\Windows\CurrentVersion. Se ad esempio la chiave del Registro di sistema è HKLM\Software\Microsoft\Windows\CurrentVersion\MyApp, specificare MyApp per il parametro id.

  • Se si specifica FILEPATH per il parametro schema, specificare il percorso completo del file eseguibile che installa l'assembly come parametro id.

  • Se si specifica OPAQUE per il parametro schema, è possibile specificare qualsiasi porzione di dati per il parametro id. I dati specificati devono essere racchiusi tra virgolette ("").

Il parametro descrizione consente di specificare testo descrittivo sull'applicazione da installare. Queste informazioni sono visualizzate quando vengono enumerati i riferimenti.

/silent

Evita la visualizzazione di tutto l'output.

/u Nomeassembly

Disinstalla un assembly dalla Global Assembly Cache.

/uf Nomeassembly

Forza la disinstallazione di un assembly specificato rimuovendone tutti i riferimenti.

Specificare questa opzione equivale a specificare contemporaneamente le opzioni /u e /f.

Nota

Non è possibile utilizzare questa opzione per rimuovere un assembly installato utilizzando Microsoft Windows Installer. Se si tenta di eseguire questa operazione, verrà visualizzato un messaggio di errore.

/ul FileElencoassembly

Disinstalla uno o più assembly specificati in FileElencoassembly dalla Global Assembly Cache.

/u[ngen] Nomeassembly

Disinstalla un assembly specificato dalla Global Assembly Cache. Se l'assembly specificato dispone di conteggi dei riferimenti esistenti, verranno visualizzati i conteggi dei riferimenti e l'assembly non verrà rimosso dalla Global Assembly Cache.

Nota

In .NET Framework versione 2.0 l'opzione /ungen non è supportata. Utilizzare in alternativa il comando uninstall del Generatore di immagini native (Ngen.exe).

Se si specifica /ungen in .NET Framework versioni 1.0 e 1.1, Gacutil.exe rimuoverà l'assembly dalla cache delle immagini native. In questa cache vengono memorizzate le immagini native per gli assembly creati mediante il Generatore di immagini native (Ngen.exe).

/ur Nomeassembly

schema

id

descrizione

Disinstalla un riferimento a un assembly specificato dalla Global Assembly Cache. Per rimuovere un riferimento a un assembly, è necessario specificare gli stessi parametri schema, id, e descrizione specificati con le opzioni /i e /r (o /ir) al momento dell'installazione dell'assembly. Per una descrizione dei valori validi che è possibile specificare per questi parametri, vedere l'opzione /r.

Specificare questa opzione equivale a specificare contemporaneamente le opzioni /u e /r.

/?

Visualizza la sintassi e le opzioni dei comandi dello strumento.

Note

Le funzionalità di visualizzazione della cache offerte da questo strumento corrispondono in gran parte a quelle fornite dall'estensione shell di Windows (Shfusion.dll), ma Gacutil.exe è maggiormente utilizzabile da script di generazione, makefile e file batch.

Nota

È necessario disporre dei privilegi di amministratore per utilizzare Gacutil.exe.

In particolare, Gacutil.exe consente di installare e rimuovere assembly dalla cache, nonché elencare il contenuto della cache stessa.

Gacutil.exe offre opzioni che supportano un conteggio dei riferimenti simile allo schema di conteggio dei riferimenti supportato da Windows Installer. È possibile utilizzare Gacutil.exe per installare due applicazioni che installano lo stesso assembly in quanto consente di tenere traccia del numero di riferimenti all'assembly. Di conseguenza, l'assembly resta sul computer fino alla completa disinstallazione di entrambe le applicazioni. Se si utilizza Gacutil.exe per l'installazione di prodotti effettivi, utilizzare le opzioni che supportano il conteggio dei riferimenti. Utilizzare le opzioni /i e /r contemporaneamente per installare un assembly e aggiungere un riferimento per il conteggio. Utilizzare le opzioni /u e /r contemporaneamente per rimuovere un conteggio dei riferimenti per un assembly. L'utilizzo delle opzioni /i e /u singolarmente non supporta il conteggio dei riferimenti. Queste opzioni possono essere utilizzate durante lo sviluppo dei prodotti ma non per l'installazione di prodotti effettivi.

Utilizzare le opzioni /il o /ul per installare o disinstallare un elenco di assembly archiviati in un file di testo ANSI. Il contenuto del file di testo deve essere formattato correttamente. Per utilizzare un file di testo per installare assembly, specificare il percorso di ciascun assembly in una riga separata del file. Nell'esempio che segue viene illustrato il contenuto di un file contenente assembly da installare.

myAssembly1.dll
myAssembly2.dll
myAssembly3.dll

Per utilizzare un file di testo per disinstallare assembly, specificare il nome di assembly completo per ogni assembly in una riga separata del file. Nell'esempio che segue viene illustrato il contenuto di un file contenente assembly da disinstallare.

myAssembly1,Version=1.1.0.0,Culture=en,PublicKeyToken=874e23ab874e23ab
myAssembly2,Version=1.1.0.0,Culture=en,PublicKeyToken=874e23ab874e23ab
myAssembly3,Version=1.1.0.0,Culture=en,PublicKeyToken=874e23ab874e23ab

Esempi

Il comando riportato di seguito consente di installare l'assembly mydll.dll nella Global Assembly Cache.

gacutil /i mydll.dll

Il comando riportato di seguito consente di rimuovere l'assembly hello dalla Global Assembly Cache purché non esista alcun conteggio dei riferimenti per l'assembly.

gacutil /u hello

Si noti che il comando precedente può causare la rimozione di più assembly dalla cache dell'assembly in quanto il nome dell'assembly non è completo. Se ad esempio nella cache sono installate sia la versione 1.0.0.0 che la versione 3.2.2.1 di hello, il comando gacutil /u hello rimuoverà entrambi gli assembly.

L'esempio che segue illustra come evitare che vengano rimossi più assembly. Questo comando rimuove solo l'assembly hello corrispondente alla chiave pubblica, alla lingua e al numero di versione specificati in modo completo.

gacutil /u hello, Version=1.0.0.1, Culture="de",PublicKeyToken=45e343aae32233ca

Il comando riportato di seguito consente di installare gli assembly specificati nel file assemblyList.txt nella Global Assembly Cache.

gacutil /il assemblyList.txt

Il comando riportato di seguito consente di rimuovere gli assembly specificati nel file assemblyList.txt dalla Global Assembly Cache.

gacutil /ul assemblyList.txt

Il comando riportato di seguito consente di installare myDll.dll nella Global Assembly Cache e di aggiungere un riferimento per il conteggio. L'assembly myDll.dll viene utilizzato dall'applicazione MyApp. Il parametro UNINSTALL_KEY MyApp specifica la chiave del Registro di sistema che aggiunge MyApp a Installazione applicazioni in Windows. Il parametro relativo alla descrizione è specificato come My Application Description.

gacutil /i /r myDll.dll UNINSTALL_KEY MyApp "My Application Description"

Il comando riportato di seguito consente di installare myDll.dll nella Global Assembly Cache e di aggiungere un riferimento per il conteggio. Il parametro relativo allo schema, FILEPATH, e quello relativo all'id, c:\applications\myApp\myApp.exe, specificano il percorso dell'applicazione che installa myDll.dll. Il parametro relativo alla descrizione viene specificato come MyApp.

gacutil /i /r myDll.dll FILEPATH c:\applications\myApp\myApp.exe MyApp

Il comando riportato di seguito consente di installare myDll.dll nella Global Assembly Cache e di aggiungere un riferimento per il conteggio. Il parametro relativo allo schema, OPAQUE, consente di personalizzare i parametri relativi all'id e alla descrizione.

gacutil /i /r mydll.dll OPAQUE "Insert custom application details here" "Insert Custom description information here"

Il comando riportato di seguito consente di rimuovere il riferimento a myDll.dll dall'applicazione myApp. Se si tratta dell'ultimo riferimento all'assembly, verrà anche rimosso l'assembly dalla Global Assembly Cache.

gacutil /u /r myDll.dll FILEPATH c:\applications\myApp\myApp.exe MyApp

Il comando che segue elenca il contenuto della Global Assembly Cache.

gacutil /l

Vedere anche

Concetti

Global Assembly Cache

Riferimenti

Strumenti di .NET Framework

Visualizzatore Assembly Cache (Shfusion.dll)

Strumento di registrazione degli assembly (Regasm.exe)

Prompt dei comandi di SDK