Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Quando si avvia un progetto .NET o si identifica una necessità funzionale nell'app o nel servizio, è spesso possibile installare pacchetti NuGet esistenti per risparmiare tempo e problemi di creazione di pacchetti personalizzati. I pacchetti esistenti possono provenire dalla raccolta pubblica nuget.org o da origini private fornite dall'organizzazione o da un'altra parte.
Trovare pacchetti
È possibile trovare pacchetti direttamente in https://nuget.org/packageso dall'interfaccia utente di Gestione pacchetti di Visual Studio o dalla console di Gestione pacchetti con nuget.org come origine. Tutti i pacchetti di nuget.org vengono analizzati regolarmente per individuare virus.
La pagina nuget.org/packages elenca i pacchetti NuGet, con i pacchetti più diffusi in tutti i progetti .NET elencati per primi. Alcuni di questi pacchetti potrebbero essere utili per i progetti.
Per cercare un pacchetto, immettere il nome del pacchetto o i termini di ricerca nella casella di ricerca nella parte superiore della pagina. È possibile usare la sintassi di ricerca avanzata per filtrare la ricerca.
Filtro e ordinamento avanzati
In nuget.org/packages è possibile perfezionare i risultati della ricerca usando opzioni avanzate di filtro e ordinamento.
Usare i filtri Framework per visualizzare i pacchetti destinati a framework .NET specifici. Per altre informazioni, vedere Framework di destinazione nei progetti in stile SDK.
Se si seleziona una generazione di .NET Framework, il filtro limita i risultati della ricerca ai pacchetti compatibili con uno dei singoli framework di destinazione all'interno di tale generazione. Ad esempio, la selezione di .NET restituisce pacchetti compatibili con qualsiasi framework .NET moderno, tra cui .NET 5.0 e .NET 10.0.
Se si usano le frecce per espandere una generazione di framework, il pannello elenca i singoli moniker del framework di destinazione (TFM) in base ai quali è possibile filtrare i risultati. Ad esempio, selezionando net5.0 vengono restituiti pacchetti compatibili con il framework .NET 5.0.
Per impostazione predefinita, i pacchetti vengono filtrati in base all'elenco espanso di framework compatibili calcolati. Per filtrare i pacchetti unicamente in base ai framework di asset che mirano esplicitamente, deseleziona la casella di controllo Includi framework compatibili.
La combinazione di più filtri del framework mostra i risultati della ricerca che corrispondono a tutti i filtri selezionati. In altre parole, la pagina elenca i pacchetti che rientrano nell'intersezione delle tue selezioni. Per esempio:
- Selezionando netcoreapp3.1 e net45 vengono visualizzati i pacchetti destinati sia a .NET Core 3.1 che a .NET Framework 4.5.
- Selezionando la generazione di .NET Core Framework e net45 vengono restituiti pacchetti destinati a .NET Framework 4.5 e almeno uno dei TFM .NET Core (da .NET Core 1.0 a .NET Core 3.1).
In alternativa, è possibile cercare pacchetti che corrispondono a uno dei filtri del framework. A tale scopo, passare alla parte superiore delle opzioni di filtro. Accanto a Modalità filtro framework, selezionare Qualunque.
- Selezionando netcoreapp3.1 e net5.0 vengono visualizzati i pacchetti destinati a .NET Core 3.1 o .NET 5.0.
- Se si seleziona netcoreapp3.1 e la generazione di .NET Framework vengono restituiti i pacchetti destinati a .NET Core 3.1 o a uno qualsiasi dei TFM .NET (da .NET 5.0 a .NET 10.0).
Per altre informazioni su come valutare i framework supportati di un pacchetto e la relativa compatibilità con il progetto, vedere Determinare i framework supportati più avanti in questo articolo.
Usare il filtro Tipo di pacchetto per elencare i pacchetti di un tipo specifico:
- Tutti i tipi sono il valore predefinito e visualizza tutti i pacchetti indipendentemente dal tipo.
- Filtri di dipendenza per i normali pacchetti NuGet che è possibile installare nel progetto.
- Gli strumenti .NET filtrano i pacchetti degli strumenti .NET che contengono applicazioni console.
- Filtri modello per i modelli .NET che è possibile usare per creare nuovi progetti con il comando dotnet new .
- Il server MCP filtra i pacchetti che implementano server MCP (Model Context Protocol), che è possibile usare per connettere le applicazioni di intelligenza artificiale ai dati e ai sistemi.
Per impostazione predefinita, NuGet elenca tutte le versioni dei pacchetti, incluse le versioni non definitive e beta. Nella sezione Opzioni deselezionare la casella di controllo Includi versione preliminare per elencare solo le versioni dei pacchetti stabili e rilasciate.
Per applicare le modifiche, selezionare Applica. Per tornare ai valori predefiniti, selezionare Reimposta.
Usare l'elenco Ordina per nell'angolo superiore destro della pagina per ordinare l'elenco di pacchetti in base a diversi criteri:
- La pertinenza è il valore predefinito e ordina i risultati in base a un algoritmo di assegnazione dei punteggi interno.
- I download ordinano i risultati della ricerca in base al numero totale di download, in ordine decrescente.
- Gli ultimi aggiornamenti ordinano i risultati della ricerca in base alla data di creazione della versione più recente del pacchetto, in ordine cronologico decrescente.
Sintassi di ricerca
Le query di ricerca dei pacchetti eseguite in nuget.org, dall'interfaccia della riga di comando di NuGet e dall'interno di Visual Studio usano la stessa sintassi. Altre origini di pacchetti, ad esempio Azure Artifacts o GitHub Package Repository, possono usare una sintassi diversa o non supportare filtri avanzati.
È possibile eseguire ricerche nel pacchetto
id,packageidversiontitletags, ,authordescriptionsummary, , oownerusando la sintassi .<property>:<term>Le ricerche si applicano a parole chiave e descrizioni e non fanno distinzione tra maiuscole e minuscole. Le stringhe seguenti, ad esempio, includono tutte la ricerca nella proprietà
idper la stringanuget.core.id:NuGet.Core
ID:nuget.core
Id:NUGET.CORELe ricerche sulla proprietà
idcorrispondono alle sottostringhe, mentrepackageideownerusano corrispondenze esatte senza distinzione tra maiuscole e minuscole. Per esempio:PackageId:jquerycerca l'IDjquerydel pacchetto esatto.
Id:jquerycerca tutti gli ID pacchetto che contengono la stringajquery.È possibile cercare più valori o proprietà contemporaneamente. Per esempio:
id:jquery id:uicerca più termini nellaidproprietà .
id:jquery tags:validationcerca diverse proprietà.Le ricerche ignorano le proprietà non supportate, quindi
invalid:jquery uicorrisponde alla ricercauidi einvalid:jqueryrestituisce tutti i pacchetti.
Determinare i framework supportati
NuGet installa un pacchetto in un progetto solo se i framework .NET supportati del pacchetto includono i framework di destinazione del progetto. Se il pacchetto non è compatibile, NuGet genera un errore.
Esistono diversi modi per determinare i framework supportati da un pacchetto:
Verifica la pagina di ricerca per i framework supportati di un pacchetto, che compaiono come badge sotto l'ID del pacchetto. Questi badge mostrano le versioni più basse del framework supportate dalle generazioni .NET, .NET Core, .NET Standard, e .NET Framework. Il pacchetto è compatibile con qualsiasi versione del framework maggiore o uguale alla versione badge visualizzata.
I badge blu scuro rappresentano framework mirati in modo esplicito. I badge blu chiaro rappresentano framework compatibili con il calcolo.
La selezione di una notifica reindirizza l'utente alla pagina dei dettagli del pacchetto in nuget.org. In questa pagina la scheda Framework visualizza l'elenco completo dei framework supportati.
Controllare la pagina del pacchetto in nuget.org per i framework supportati. Vengono visualizzati sotto l'ID pacchetto e nella scheda Framework , ma non tutti i pacchetti mostrano framework supportati.
Scaricare il pacchetto manualmente dalla pagina del pacchetto passando alla sezione Informazioni e selezionando Scarica pacchetto. Modificare l'estensione del file del pacchetto scaricato da .nupkg in .zip, aprire la cartella .zip ed esaminare la relativa cartella lib . Esistono sottocartelle per ogni framework supportato, ognuna denominata con un TFM. Per ulteriori informazioni, consultare Framework di destinazione. Se non ci sono sottocartelle in lib e c'è solo una singola DLL, provare a installare il pacchetto per individuarne la compatibilità.
Provare a installare il pacchetto in un progetto usando Install-Package nella console di Gestione pacchetti di Visual Studio. Se il pacchetto non è compatibile, l'output della console mostra i framework supportati del pacchetto.
Pacchetti prerelease
Molti autori di pacchetti forniscono versioni di anteprima e beta man mano che continuano a migliorare e cercare commenti e suggerimenti sulle revisioni più recenti. Per impostazione predefinita, nuget.org mostra i pacchetti non definitive nell'elenco dei pacchetti e nei risultati della ricerca.
Per elencare e cercare solo versioni stabili:
- Al nuget.org passare al pannello di ricerca avanzato e deselezionare la casella di controllo Includi versione preliminare .
- Nell'interfaccia utente di Gestione pacchetti NuGet di Visual Studio deselezionare la casella di controllo Includi versione preliminare accanto alla casella di ricerca.
La console di Gestione pacchetti di Visual Studio, la CLI di NuGet e la CLI di dotnet non includono versioni non definitive per impostazione predefinita. Per includere versioni non definitive:
Nella console di Gestione pacchetti, usare il
-IncludePrereleaseswitch con i comandiFind-Package,Get-Package,Install-Package,Sync-Package, eUpdate-Package. Per altre informazioni, vedere Informazioni di riferimento su PowerShell.Per la CLI di NuGet, utilizzare l'opzione
-prereleasecon i comandiinstall,update,list,searchemirror. Per altre informazioni, vedere Informazioni di riferimento sull'interfaccia della riga di comando di NuGet.Per la CLI dotnet, specificare una versione prerelease con l'argomento
-v. Per altre informazioni, vedere aggiunta di pacchetti dotnet.
Pacchetti C++ nativi
I progetti C++ di Visual Studio possono usare pacchetti NuGet C++ nativi. L'installazione di questi pacchetti abilita il comando di menu di scelta rapida Gestisci pacchetti NuGet , espone un native framework di destinazione e fornisce l'integrazione di Microsoft Build Engine (MSBuild).
Per trovare pacchetti nativi in nuget.org/packages, eseguire la ricerca usando tag:native. Tali pacchetti in genere forniscono file con estensione targets e props , che NuGet importa automaticamente quando si aggiungono i pacchetti.
Valutare i pacchetti
Il modo migliore per valutare l'utilità di un pacchetto è provarlo. Si assume una dipendenza da un pacchetto quando lo si utilizza, quindi è necessario assicurarsi che sia robusto e affidabile. Tuttavia, l'installazione di un pacchetto e il test diretto richiede molto tempo. È possibile scoprire molto sulla qualità di un pacchetto usando le informazioni nella pagina del pacchetto in nuget.org/packages.
Il segno di spunta Prefisso riservato indica che i proprietari del pacchetto hanno richiesto e ottenuto un prefisso ID pacchetto riservato. Nell'elenco dei pacchetti è possibile trovare questo segno di spunta accanto all'ID pacchetto. Sulla pagina del pacchetto, è posizionato sotto l'ID. Per soddisfare i criteri di prenotazione del prefisso ID, i proprietari dei pacchetti devono identificare chiaramente se stessi e i relativi pacchetti.
La sezione Download nella colonna laterale della pagina del pacchetto mostra Il totale, la versione corrente e i download medi al giorno . Numeri elevati indicano che il pacchetto si è dimostrato tra molti sviluppatori.
Accanto a Download selezionare Statistiche complete per passare a una pagina che mostra i download dei pacchetti per le ultime sei settimane in base al numero di versione. Le versioni che usano più sviluppatori sono in genere scelte migliori.
La scheda Usato da nella pagina del pacchetto mostra i primi cinque pacchetti di nuget.org più diffusi e repository GitHub che dipendono da questo pacchetto. I pacchetti e i repository che dipendono da questo pacchetto vengono chiamati dipendenti. I pacchetti e i repository dipendenti possono essere considerati un'approvazione di questo pacchetto, perché scelgono di ritenere attendibile e dipendere da esso.
La versione stabile più recente di un pacchetto dipendente deve dipendere da qualsiasi versione di questo pacchetto. Questa definizione garantisce che i pacchetti dipendenti elencati siano una riflessione aggiornata delle decisioni degli autori di pacchetti di considerare attendibili e fare affidamento sul pacchetto. L'elenco delle dipendenze non mostra dipendenze in versione preliminare, perché non sono ancora considerate approvazioni complete. Gli esempi seguenti mostrano quali pacchetti possono essere elencati come dipendenti:
Versione del pacchetto dipendente Pacchetto dipendente elencato come dipendente? v1.0.0
La versione 1.1.0 (stabile più recente) dipende da questo pacchetto
v1.2.0-previewTrue, la versione stabile più recente dipende da questo pacchetto v1.0.0 dipende da questo pacchetto
v1.1.0 (stabile più recente)
v1.2.0-previewFalse, la versione stabile più recente non dipende da questo pacchetto v1.0.0 dipende da questo pacchetto
v1.1.0 (stabile più recente)
V1.2.0-preview dipende da questo pacchettoFalse, la versione stabile più recente non dipende da questo pacchetto Il numero di stelle per un repository GitHub indica la sua popolarità con gli utenti di GitHub. Per altre informazioni sul sistema di classificazione delle stelle e dei repository GitHub, vedere Informazioni sulle stelle.
Annotazioni
La sezione Used By viene generata automaticamente, senza revisione umana, e esclusivamente a scopo informativo.
La scheda Versioni della pagina del pacchetto mostra le versioni, i download, le date dell'ultimo aggiornamento e le gravi vulnerabilità delle versioni dei pacchetti. La versione installata non deve avere vulnerabilità con gravità elevata. Un pacchetto ben gestito include aggiornamenti recenti e una lunga cronologia delle versioni. I pacchetti trascurati hanno pochi aggiornamenti e da tempo.
Nella colonna laterale della pagina del pacchetto, le sezioni Informazioni su e Proprietari hanno altri collegamenti informativi:
Selezionare Sito Web progetto, se disponibile, per scoprire le opzioni di supporto fornite dall'autore. Un progetto con un sito dedicato è in genere ben supportato.
Selezionare repository di origine per accedere al repository Git del codice sorgente per il pacchetto. Molti autori mantengono i pacchetti nei repository open source, in modo che gli utenti possano contribuire direttamente alle correzioni di bug e ai miglioramenti delle funzionalità. La cronologia dei contributi del pacchetto è un buon indicatore del numero di sviluppatori coinvolti attivamente.
Selezionare <tipo di licenza> licenza per ottenere informazioni sulla licenza del pacchetto. Se un pacchetto non specifica le condizioni di licenza, contattare il proprietario del pacchetto.
Selezionare uno dei proprietari dei pacchetti in Proprietari per ottenere informazioni su altri pacchetti pubblicati. È più probabile che i proprietari con più pacchetti continuino a supportare il loro lavoro. Accanto a Proprietari selezionare Contatta i proprietari per contattare direttamente gli sviluppatori di pacchetti.
Recuperare le informazioni sulla licenza
Alcuni client NuGet e feed NuGet non possono visualizzare informazioni sulle licenze. Per mantenere la compatibilità con le versioni precedenti in questi casi, l'URL della licenza fa riferimento a questo documento.
Se si seleziona l'URL della licenza per un pacchetto viene visualizzata questa pagina, significa che il pacchetto contiene un file di licenza. Inoltre, una o entrambe le istruzioni seguenti sono vere:
- Si è connessi a un feed che non sa come interpretare e visualizzare le informazioni sulla licenza al client.
- Si sta usando un client che non sa come interpretare e leggere le informazioni sulla licenza fornite dal feed.
Per leggere le informazioni nel file di licenza all'interno del pacchetto:
- Scaricare manualmente il pacchetto e decomprimerne il contenuto in una cartella.
- Aprire il file con estensione nuspec nella radice della cartella .
- Esaminare il
<license>tag, ad esempio<license type="file">license\license.txt</license>, per identificare il file di licenza e la sottocartella. In questo caso, il file di licenza è denominato license.txt. Si trova in una sottocartella denominata license. - Passare alla sottocartella specificata e aprire il file di licenza.
Per informazioni sull'equivalente di MSBuild per impostare la licenza nel file .nuspec, vedere Creazione di un'espressione di licenza o di un file di licenza.