Condividi tramite


Gestire i pacchetti con la console di Gestione pacchetti di Visual Studio (PowerShell)

La console di Gestione pacchetti in Visual Studio usa i comandi di PowerShell per interagire con i pacchetti NuGet. È possibile usare la console quando non è possibile eseguire un'operazione tramite l'interfaccia utente di Gestione pacchetti. È anche possibile usare i comandi dotnet CLI o NuGet CLI nella console.

Questo articolo descrive come trovare, installare, aggiornare e disinstallare pacchetti NuGet con i comandi di PowerShell nella console di Gestione pacchetti. Per informazioni di riferimento complete sui comandi di PowerShell per la console di Gestione pacchetti, vedere Informazioni di riferimento su PowerShell.

Importante

I comandi e gli argomenti di PowerShell in questo articolo sono specifici della console di Gestione pacchetti di Visual Studio. Questi comandi differiscono dai comandi del modulo PackageManagement che è possibile usare in un ambiente PowerShell generale. Ogni ambiente include comandi che non sono disponibili nell'altro e i comandi con lo stesso nome possono differire nei relativi argomenti specifici.

Disponibilità della console

A partire da Visual Studio 2017, NuGet e NuGet Package Manager vengono installati automaticamente quando si crea qualsiasi carico di lavoro correlato a .NET in Visual Studio. È anche possibile installare Gestione pacchetti selezionando Singoli componenti>Strumenti di codice>Gestione pacchetti NuGet nel programma di installazione di Visual Studio.

È anche possibile cercare l'estensione Gestione pacchetti NuGet nei menu Strumenti>estensioni ed aggiornamenti o estensioni . Se non è possibile usare il programma di installazione delle estensioni in Visual Studio, è possibile scaricare l'estensione direttamente da https://dist.nuget.org/index.html.

La console di Gestione pacchetti è incorporata in Gestione pacchetti per Visual Studio in Windows. Visual Studio Code e Visual Studio per Mac non includono la console. Visual Studio per Mac ha un'interfaccia utente per la gestione dei pacchetti NuGet e i comandi della console equivalenti sono disponibili tramite l'interfaccia della riga di comando di NuGet. Per altre informazioni, vedere Installare e gestire pacchetti NuGet in Visual Studio per Mac.

Trovare e installare rapidamente un pacchetto

Per usare la console di Gestione pacchetti per trovare e installare rapidamente un pacchetto:

  1. Aprire il progetto o la soluzione in Visual Studio e selezionare Strumenti>Console di Gestione pacchetti> aprire la finestra Console di Gestione pacchetti.

  2. Nella console immettere Find-Package con una parola chiave per trovare il pacchetto da installare. Ad esempio, per trovare pacchetti che contengono la parola chiave elmah, eseguire il comando seguente. Se si conosce già il nome del pacchetto desiderato, ignorare questo passaggio.

    Find-Package elmah
    
  3. Dopo aver trovato il nome, usare il Install-Package comando per installare il pacchetto. Ad esempio, per installare il Elmah.MVC pacchetto, immettere:

    Install-Package Elmah.MVC
    

Per altre informazioni su questi comandi, vedere le sezioni Trovare un pacchetto e Installare un pacchetto .

Suggerimento

Molte operazioni della console dipendono dalla disponibilità di una soluzione con un nome di percorso noto aperto in Visual Studio. Se si dispone di una soluzione non salvata o nessuna soluzione, viene visualizzato l'errore Soluzione non aperta o non salvata. Assicurarsi di avere una soluzione aperta e salvata. Per correggere l'errore, creare e salvare una soluzione o salvare una soluzione non salvata.

Controlli della console

Per aprire la Console di Gestione pacchetti nel Visual Studio, selezionare Strumenti>Gestione pacchetti NuGet>Console di Gestione pacchetti dal menu in alto. La console è una finestra di Visual Studio che è possibile disporre e posizionare nel modo desiderato. Per altre informazioni, vedere Personalizzare i layout delle finestre in Visual Studio.

Per impostazione predefinita, i comandi della console operano sull'origine del pacchetto e sul progetto specifici visualizzati nei controlli nella parte superiore della finestra:

Screenshot che mostra i controlli della Console di Gestione pacchetti per l'origine del pacchetto e il progetto.

Se si seleziona un'origine del pacchetto o un progetto diverso, vengono modificati i valori predefiniti per i comandi successivi. Per eseguire l'override di queste impostazioni per singoli comandi senza modificare le impostazioni predefinite, la maggior parte dei comandi della console supporta -Source e -ProjectName opzioni.

Per gestire le origini dei pacchetti, selezionare l'icona a forma di ingranaggio, che apre la finestra di dialogo Strumenti>Opzioni>Gestione pacchetti NuGet>Origini pacchetti. Il controllo accanto al selettore di progetto cancella il contenuto della console.

Screenshot che mostra le impostazioni della console di Gestione pacchetti e i controlli chiari.

Il pulsante all'estrema destra interrompe un comando a esecuzione prolungata. Ad esempio, l'esecuzione Get-Package -ListAvailable -PageSize 500 elenca i primi 500 pacchetti disponibili nell'origine predefinita, ad esempio nuget.org, che potrebbero richiedere alcuni minuti.

Screenshot che mostra il controllo di arresto della console di Gestione pacchetti.

Trovare un pacchetto

Per trovare un pacchetto nell'origine predefinita, usare Find-Package.

  • Per trovare ed elencare pacchetti che contengono determinate parole chiave:

    Find-Package <keyword1>
    Find-Package <keyword2>
    
  • Per trovare ed elencare i pacchetti il cui nome inizia con una stringa:

    Find-Package <string> -StartWith
    
  • Per impostazione predefinita, Find-Package restituisce un elenco di 20 pacchetti. Usare -First per visualizzare più pacchetti. Ad esempio, per visualizzare i primi 100 pacchetti, usare:

    Find-Package <keyword> -First 100
    
  • Per elencare tutte le versioni di un determinato pacchetto:

    Find-Package <PackageName> -AllVersions -ExactMatch
    

Installare un pacchetto

Per installare un pacchetto nel progetto predefinito, usare Install-Package <PackageName>. Il comando console Install-Package esegue le azioni seguenti:

  • Esegue la procedura descritta in Cosa accade quando viene installato un pacchetto NuGet.
  • Visualizza le condizioni di licenza applicabili nella finestra della console con contratto implicito. Se non si accettano le condizioni, è necessario disinstallare il pacchetto.
  • Aggiunge un riferimento al pacchetto nel file di progetto e in Esplora soluzioni nel nodo Riferimenti . È necessario salvare il progetto prima di poter visualizzare le modifiche nel file di progetto.

Per impostazione predefinita, Install-Package aggiunge il pacchetto al progetto predefinito specificato dalla finestra della console. Per aggiungere il pacchetto a un progetto che non è l'impostazione predefinita, usare l'opzione -ProjectName . Ad esempio, per aggiungere il Elmah.MVC pacchetto al progetto non predefinito UtilitiesLib , eseguire il comando seguente:

Install-Package Elmah.MVC -ProjectName UtilitiesLib

Disinstallare un pacchetto

Per disinstallare un pacchetto dal progetto predefinito, usare Uninstall-Package <PackageName>. Se è necessario trovare il nome del pacchetto, usare Get-Package per visualizzare tutti i pacchetti installati nel progetto predefinito.

Uninstall-Package esegue le azioni seguenti:

  • Rimuove i riferimenti al pacchetto dal progetto e dai formati di gestione. I riferimenti non vengono più visualizzati in Esplora soluzioni. Potrebbe essere necessario ricompilare il progetto per rimuovere il riferimento nella cartella bin .
  • Annulla tutte le modifiche apportate all'installazione del pacchetto in app.config o web.config.
  • Rimuove le dipendenze installate in precedenza se nessun pacchetto rimanente usa tali dipendenze.

Per disinstallare un pacchetto e tutte le relative dipendenze inutilizzate, eseguire:

Uninstall-Package <PackageName> -RemoveDependencies

Per disinstallare un pacchetto anche se altri pacchetti dipendono da esso, eseguire:

Uninstall-Package <PackageName> -Force

Aggiornare un pacchetto

Per aggiornare un pacchetto, usare Get-Package e Update-Package. È possibile eseguire i comandi seguenti:

  • Per verificare se sono disponibili versioni più recenti per i pacchetti installati:

    Get-Package -updates
    
  • Per aggiornare un pacchetto specifico:

    Update-Package <PackageName>
    
  • Per aggiornare tutti i pacchetti in un progetto:

    Update-Package -ProjectName <ProjectName>
    
  • Per aggiornare tutti i pacchetti nella soluzione:

    Update-Package
    

Usare la CLI di NuGet nella console

È anche possibile eseguire la maggior parte delle operazioni della console con l'interfaccia della riga di comando di NuGet. Tuttavia, i comandi della console di PowerShell operano nel contesto del progetto e della soluzione salvati in Visual Studio e spesso eseguono più comandi dell'interfaccia della riga di comando NuGet equivalenti. Ad esempio, l'installazione di un pacchetto tramite Install-Package aggiunge un riferimento al file di progetto, ma il comando dell'interfaccia della riga di comando di NuGet non lo fa. Per questo motivo, gli sviluppatori che lavorano in Visual Studio preferiscono in genere usare i comandi della console anziché l'interfaccia della riga di comando di NuGet.

Per usare i comandi dell'interfaccia della riga di comando di NuGet nella console di Gestione pacchetti, installare il pacchetto NuGet.CommandLine .

Install-Package NuGet.CommandLine

Il comando precedente installa la versione più recente dell'interfaccia della riga di comando di NuGet. Per installare una versione specifica, usare l'opzione -Version . Ad esempio, per installare la versione 4.4.1, immettere:

Install-Package NuGet.CommandLine -Version 4.4.1

Dopo aver installato il NuGet.CommandLine pacchetto, è possibile eseguire tutti i comandi dell'interfaccia della riga di comando di NuGet tramite la console di Gestione pacchetti.

Estendere la console di Gestione pacchetti

Alcuni pacchetti installano nuovi comandi per la console. Ad esempio, MvcScaffolding crea comandi come Scaffold, che generano controller e viste MVC di ASP.NET:

Screenshot che mostra i comandi dell'interfaccia della riga di comando di NuGet disponibili dopo l'installazione del pacchetto NuGet.CommandLine.

** Configurare un profilo di NuGet PowerShell

È possibile creare un profilo di PowerShell per rendere disponibili i comandi di uso comune in tutti i contesti di PowerShell, in modo da non perdere le impostazioni di PowerShell tra le sessioni. NuGet supporta un profilo specifico di NuGet, in genere in%UserProfile%\Documents\WindowsPowerShell\NuGet_profile.ps1.

Per trovare il percorso del profilo utente, immettere $profile nella console:

$profile
C:\Users\<user>\Documents\WindowsPowerShell\NuGet_profile.ps1

Per determinare se un profilo esiste in tale posizione, immettere test-path $profile. Se il comando restituisce False, è necessario creare il profilo con il nome specificato in tale posizione. Per altre informazioni, vedere Profili di Windows PowerShell.

Passaggi successivi