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.
Attualmente, esistono alcuni modi per ottenere la versione più recente di nuget.exe nel computer in modo scriptabile. Ad esempio, è possibile scaricare ed estrarre il NuGet.CommandLine pacchetto da nuget.org. Questa situazione presenta una certa complessità perché richiede già di avere nuget.exe (per nuget.exe install) oppure è necessario decomprimere il file con estensione nupkg usando uno strumento di decompressione di base e trovare il file binario all'interno.
Se si dispone già di nuget.exe, è anche possibile usare nuget.exe update -self, ma ciò richiede anche la presenza di una copia esistente di nuget.exe. Questo approccio aggiorna anche l'utente alla versione più recente. Non consente l'uso di una versione specifica.
L'endpoint tools.json è disponibile sia per risolvere il problema di bootstrap che per fornire il controllo della versione di nuget.exe scaricata. Può essere usato in ambienti CI/CD o in script personalizzati per individuare e scaricare qualsiasi versione rilasciata di nuget.exe.
L'endpoint tools.json può essere recuperato usando una richiesta HTTP non autenticata , ad esempio Invoke-WebRequest in PowerShell o wget. Può essere analizzato usando un deserializzatore JSON e gli URL di download successivi nuget.exe possono essere recuperati anche usando richieste HTTP non autenticate.
L'endpoint può essere recuperato usando il GET metodo :
GET https://dist.nuget.org/tools.json
Lo schema JSON per l'endpoint è disponibile qui:
GET https://dist.nuget.org/tools.schema.json
Risposta
La risposta è un documento JSON contenente tutte le versioni disponibili di nuget.exe.
L'oggetto JSON radice ha la proprietà seguente:
| Nome | TIPO | Obbligatorio |
|---|---|---|
| nuget.exe | matrice di oggetti | yes |
Ogni oggetto nella nuget.exe matrice ha le proprietà seguenti:
| Nome | TIPO | Obbligatorio | Note |
|---|---|---|---|
| version | corda | yes | Stringa SemVer 2.0.0 |
| URL | corda | yes | URL assoluto per il download di questa versione di nuget.exe |
| stage | corda | yes | Stringa di enumerazione |
| Caricato | corda | yes | Timestamp ISO 8601 approssimativo di quando la versione è stata resa disponibile |
Gli elementi nella matrice verranno ordinati in ordine decrescente, SemVer 2.0.0. Questa garanzia è destinata a ridurre il carico di un client interessato al numero di versione più alto. Ciò significa tuttavia che l'elenco non è ordinato in ordine cronologico. Ad esempio, se una versione principale inferiore viene usata in una data successiva a una versione principale superiore, questa versione di servizio non verrà visualizzata nella parte superiore dell'elenco. Se si desidera ottenere la versione più recente rilasciata al timestamp, è sufficiente ordinare l'array per la stringa uploaded. Questo funziona perché il uploaded timestamp è nel formato ISO 8601 che può essere ordinato cronologicamente usando un ordinamento lessicografico (ad esempio un semplice ordinamento di stringhe).
La stage proprietà indica come è stata esaminata questa versione dello strumento.
| Fase | Meaning |
|---|---|
| Anteprima di Accesso Anticipato | Non ancora visibile nella pagina Web di download e deve essere convalidata dai partner |
| Rilasciato | Disponibile nel sito di download, ma non è ancora consigliato per un consumo diffuso |
| RilasciatoEBenedetto | Disponibile nel sito di download ed è consigliato per l'utilizzo |
Un approccio semplice per avere la versione più recente e raccomandata consiste nel prendere la prima versione nell'elenco che ha il stage valore di ReleasedAndBlessed. Questa operazione funziona perché le versioni sono ordinate in ordine SemVer 2.0.0.
Il NuGet.CommandLine pacchetto su nuget.org viene in genere aggiornato solo con le versioni ReleasedAndBlessed.
Esempio di richiesta
GET https://dist.nuget.org/tools.json
Risposta di esempio
{
"nuget.exe": [
{
"version": "4.8.0-preview3",
"url": "https://dist.nuget.org/win-x86-commandline/v4.8.0-preview3/nuget.exe",
"stage": "EarlyAccessPreview",
"uploaded": "2018-07-06T23:00:00.0000000Z"
},
{
"version": "4.7.1",
"url": "https://dist.nuget.org/win-x86-commandline/v4.7.1/nuget.exe",
"stage": "ReleasedAndBlessed",
"uploaded": "2018-08-10T23:00:00.0000000Z"
},
{
"version": "4.6.1",
"url": "https://dist.nuget.org/win-x86-commandline/v4.6.1/nuget.exe",
"stage": "Released",
"uploaded": "2018-03-22T23:00:00.0000000Z"
},
{
"version": "3.5.0",
"url": "https://dist.nuget.org/win-x86-commandline/v3.5.0/nuget.exe",
"stage": "ReleasedAndBlessed",
"uploaded": "2016-12-19T15:30:00.0000000-08:00"
},
{
"version": "2.8.6",
"url": "https://dist.nuget.org/win-x86-commandline/v2.8.6/nuget.exe",
"stage": "ReleasedAndBlessed",
"uploaded": "2015-09-01T12:30:00.0000000-07:00"
}
]
}