Megosztás a következőn keresztül:


tools.json nuget.exe verziók felderítéséhez

Ma már többféleképpen is lekérheti a nuget.exe legújabb verzióját a gépén szkriptelhető módon. Letöltheti és kibonthatja például a NuGet.CommandLine csomagot a nuget.org oldaláról. Ez némi bonyolultsággal jár, mivel vagy szükség van arra, hogy már rendelkezzen a nuget.exe-vel (a nuget.exe install esetében), vagy ki kell bontania a .nupkg fájlt egy alapszintű kitömörítő eszközzel, hogy megtalálja a bináris állományt.

Ha már rendelkezik nuget.exe, használhatja nuget.exe update -selfis , de ehhez a nuget.exeegy meglévő példánya is szükséges . Ez a módszer a legújabb verzióra is frissíti Önt. Nem engedélyezi egy adott verzió használatát.

A tools.json végpont mind a rendszerindítási probléma megoldásához, mind a letöltött nuget.exe verziójának vezérléséhez érhető el. Ez ci/CD-környezetekben vagy egyéni szkriptekben használható a nuget.exebármely kiadott verziójának felderítéséhez és letöltéséhez.

A tools.json végpont lekérhető hitelesítés nélküli HTTP-kéréssel (például Invoke-WebRequest PowerShellben vagy wget). JSON-deszerializálóval elemezhető, és az azt követő nuget.exe letöltési URL-címek nem hitelesített HTTP-kérések használatával is lekérhetők.

A végpont lekérhető a GET következő módszerrel:

GET https://dist.nuget.org/tools.json

A végpont JSON-sémája itt érhető el:

GET https://dist.nuget.org/tools.schema.json

Válasz

A válasz egy JSON-dokumentum, amely a nuget.exeösszes elérhető verzióját tartalmazza.

A gyökér JSON-objektum a következő tulajdonságot tartalmazza:

Név Típus Kötelező
nuget.exe objektumtömb yes

A tömb minden objektuma nuget.exe a következő tulajdonságokkal rendelkezik:

Név Típus Kötelező Jegyzetek
verzió karakterlánc yes SemVer 2.0.0 karakterlánc
URL-cím karakterlánc yes Abszolút URL-cím a nuget.exe ezen verziójának letöltéséhez
stage karakterlánc yes Egy enumerálási lánc
Feltöltött karakterlánc yes Az ISO 8601 hozzávetőleges időbélyege annak, hogy mikor lett elérhetővé téve a verzió

A tömb elemei csökkenő, SemVer 2.0.0 sorrendben lesznek rendezve. Ez a garancia a legmagasabb verziószám iránt érdeklődő ügyfél terheinek csökkentésére szolgál. Ez azonban azt jelenti, hogy a lista nem időrendi sorrendben van rendezve. Ha például egy alacsonyabb főverziót egy magasabb főverziónál későbbi időpontban szervizelnek, akkor ez a szervizelt verzió nem jelenik meg a lista tetején. Ha időbélyeggel szeretné kiadni a legújabb verziót, egyszerűen rendezze a tömböt a uploaded sztring szerint. Ez azért működik, mert az uploaded időbélyeg ISO 8601 formátumban van, amely lexikográfiai rendezéssel (azaz egyszerű sztring rendezéssel) időrendben rendezhető.

A stage tulajdonság azt jelzi, hogy az eszköz ezen verziója mennyire ellenőrzött.

Színpad Meaning
EarlyAccessPreview (Korai hozzáférés előzetes) Még nem látható a letöltési weblapon , és a partnernek ellenőriznie kell
Kiadva Elérhető a letöltési webhelyen, de széles körben elterjedt felhasználáshoz még nem ajánlott
Megjelent És Megáldott Elérhető a letöltési webhelyen, és fogyasztásra ajánlott

Az egyik egyszerű módszer, hogy megszerezd a legújabb, ajánlott verziót, ha kiválasztod a lista első olyan verzióját, amelynek stage értéke ReleasedAndBlessed. Ez azért működik, mert a verziók a SemVer 2.0.0 sorrendben vannak rendezve.

A nuget.org NuGet.CommandLine csomagját általában csak ReleasedAndBlessed verziókkal frissítik.

Mintakérés

GET https://dist.nuget.org/tools.json

Mintaválasz

{
    "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"
        }
    ]
}