Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Obecnie istnieje kilka sposobów uzyskania najnowszej wersji nuget.exe na maszynie w sposób skryptowy. Możesz na przykład pobrać i wyodrębnić pakiet NuGet.CommandLine z nuget.org. To zadanie jest nieco skomplikowane, ponieważ wymaga, abyś miał zainstalowany nuget.exe (dla nuget.exe install) lub musisz rozpakować plik .nupkg przy użyciu podstawowego narzędzia do rozpakowywania, aby znaleźć pliki binarne wewnątrz.
Jeśli masz już nuget.exe, możesz również użyć polecenia nuget.exe update -self, jednak wymaga to posiadania istniejącej kopii nuget.exe. To podejście aktualizuje cię również do najnowszej wersji. Nie zezwala na korzystanie z określonej wersji.
Punkt tools.json końcowy jest dostępny zarówno w celu rozwiązania problemu bootstrapu, jak i umożliwienia kontroli nad wersją nuget.exe, którą pobierasz. Można tego używać w środowiskach CI/CD lub w skryptach niestandardowych do odnajdywania i pobierania dowolnej opublikowanej wersji nuget.exe.
Punkt tools.json końcowy można pobrać przy użyciu nieautoryzowanego żądania HTTP (np. Invoke-WebRequest w programie PowerShell lub wget). Można go przeanalizować przy użyciu deserializatora JSON, a kolejne adresy URL pobierania nuget.exe można również uzyskać przy użyciu nieuwierzytelnionych żądań HTTP.
Punkt końcowy można pobrać przy użyciu GET metody :
GET https://dist.nuget.org/tools.json
Schemat JSON dla punktu końcowego jest dostępny tutaj:
GET https://dist.nuget.org/tools.schema.json
Odpowiedź
Odpowiedź to dokument JSON zawierający wszystkie dostępne wersje nuget.exe.
Główny obiekt JSON ma następującą właściwość:
| Name | Typ | Required |
|---|---|---|
| nuget.exe | tablica obiektów | yes |
Każdy obiekt w tablicy nuget.exe ma następujące właściwości:
| Name | Typ | Required | Notatki |
|---|---|---|---|
| wersja | ciąg | yes | Ciąg SemVer 2.0.0 |
| URL | ciąg | yes | Bezwzględny adres URL do pobrania tej wersji "nuget.exe". |
| etap | ciąg | yes | Ciąg znaków typu enum |
| Przesłane | ciąg | yes | Przybliżony znacznik czasu ISO 8601, kiedy wersja została udostępniona |
Elementy w tablicy będą sortowane w kolejności malejącej SemVer 2.0.0. Ta gwarancja ma na celu zmniejszenie obciążenia klienta, który jest zainteresowany najwyższym numerem wersji. Oznacza to jednak, że lista nie jest sortowana w kolejności chronologicznej. Jeśli na przykład niższa wersja główna jest obsługiwana w dniu późniejszym niż wyższa wersja główna, ta wersja usługi nie będzie wyświetlana na początku listy. Jeśli chcesz uzyskać najnowszą wersję z znacznikiem czasu, po prostu posortuj tablicę według ciągu uploaded. Działa to, ponieważ uploaded znacznik czasu jest w formacie ISO 8601 , który można sortować chronologicznie przy użyciu sortowania leksykograficznego (tj. prostego sortowania ciągów).
Właściwość stage wskazuje, jak zweryfikowana jest ta wersja narzędzia.
| Etap | Meaning |
|---|---|
| EarlyAccessPreview | Nie jest jeszcze widoczny na stronie internetowej pobierania i powinien zostać zweryfikowany przez partnerów |
| Wydano | Dostępne w witrynie pobierania, ale nie jest jeszcze zalecane do szerokiego użycia |
| Wydany i Błogosławiony | Dostępne w witrynie pobierania i jest zalecane do użycia |
Jednym z prostych podejść do posiadania najnowszej, zalecanej wersji jest wybranie pierwszej wersji na liście, która ma stage wartość ReleasedAndBlessed. Działa to, ponieważ wersje są sortowane w kolejności SemVer 2.0.0.
Pakiet NuGet.CommandLine w nuget.org jest zwykle aktualizowany tylko przy użyciu ReleasedAndBlessed wersji.
Przykładowe żądanie
GET https://dist.nuget.org/tools.json
Przykładowa odpowiedź
{
"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"
}
]
}