Gacutil.exe (strumento Global Assembly Cache)
Lo strumento Global Assembly Cache consente di visualizzare e modificare il contenuto della Global Assembly Cache e la Download Cache.
Questo strumento viene installato automaticamente con Visual Studio e con Windows SDK. Per eseguire lo strumento, si consiglia di utilizzare il prompt dei comandi di Visual Studio o il prompt dei comandi di Windows SDK (shell di CMD). Queste utilità consentono di eseguire facilmente lo strumento, senza dover passare alla cartella di installazione. Per ulteriori informazioni, vedere Prompt dei comandi di Visual Studio e Windows SDK.
Se si dispone di Visual Studio installato sul computer: nella barra delle applicazioni, fare clic su Start, fare clic su All Programs, fare clic su Visual Studio, fare clic su Visual Studio Tools e quindi su Visual Studio Command Prompt.
In alternativa
Se si dispone di Windows SDK installato sul computer: nella barra delle applicazioni, fare clic su Start, fare clic su All Programs, fare clic sulla cartella di Windows SDK e quindi su Command Prompt (o CMD Shell).
Al prompt dei comandi digitare quanto segue:
gacutil [options] [assemblyName | assemblyPath | assemblyListFile]
Parametri
Argomento |
Oggetto di 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 |
Oggetto di descrizione |
---|---|
/cdl |
Elimina il contenuto della Download Cache. |
/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 description |
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 description |
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:
Il valore da specificare per il parametro id dipende dal valore specificato per il parametro schema:
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 Ngen.exe (generatore di immagini native).
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 Ngen.exe (generatore di immagini native). |
/ur nomeAssembly schema id description |
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 compilazione, 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, alle impostazioni cultura 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
Riferimenti
Shfusion.dll (visualizzatore Assembly Cache)
Regasm.exe (strumento di registrazione di assembly)
Prompt dei comandi di Visual Studio e Windows SDK
Concetti
Altre risorse
Cronologia delle modifiche
Data |
Cronologia |
Motivo |
---|---|---|
Aprile 2011 |
Sono state aggiunte informazioni sull'utilizzo di Visual Studio e dei prompt dei comandi di Windows SDK. |
Miglioramento delle informazioni. |