Skip to content

Latest commit

 

History

History
79 lines (56 loc) · 5.06 KB

tools-json.md

File metadata and controls

79 lines (56 loc) · 5.06 KB
title description author ms.author ms.date ms.topic ms.reviewer ms.openlocfilehash ms.sourcegitcommit ms.translationtype ms.contentlocale ms.lasthandoff ms.locfileid
tools.jspour la découverte de versions nuget.exe
Le point de terminaison pour
jver
jver
08/16/2018
conceptual
kraigb
eb28ccbc4460663b0f149d2d08e9b47dd69847c7
ee6c3f203648a5561c809db54ebeb1d0f0598b68
MT
fr-FR
01/26/2021
98773817

tools.jspour la découverte de versions nuget.exe

Aujourd’hui, il existe plusieurs façons d’obtenir la dernière version de nuget.exe sur votre machine de manière scriptable. Par exemple, vous pouvez télécharger et extraire le NuGet.CommandLine package à partir de NuGet.org. Cela a une certaine complexité, car elle nécessite que vous disposiez déjà d' nuget.exe (pour nuget.exe install ), ou vous devez décompresser le fichier. nupkg à l’aide d’un outil de décompression de base et rechercher le binaire à l’intérieur de.

Si vous avez déjà nuget.exe, vous pouvez également utiliser nuget.exe update -self , mais cela nécessite également une copie existante de nuget.exe. Cette approche vous permet également de vous mettre à jour vers la dernière version. Elle n’autorise pas l’utilisation d’une version spécifique.

Le tools.json point de terminaison est disponible pour résoudre le problème d’amorçage et pour vous permettre de contrôler la version de nuget.exe que vous téléchargez. Il peut être utilisé dans des environnements CI/CD ou dans des scripts personnalisés pour détecter et télécharger une version finale de nuget.exe.

Le tools.json point de terminaison peut être extrait à l’aide d’une requête HTTP non authentifiée (par exemple, Invoke-WebRequest dans PowerShell ou wget ). Elle peut être analysée à l’aide d’un désérialiseur JSON et les URL de téléchargement ultérieures nuget.exe peuvent également être extraites à l’aide de requêtes HTTP non authentifiées.

Le point de terminaison peut être extrait à l’aide de la GET méthode :

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

Le schéma JSON du point de terminaison est disponible ici :

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

response

La réponse est un document JSON contenant toutes les versions disponibles de nuget.exe.

L’objet JSON racine a la propriété suivante :

Nom Type Obligatoire
nuget.exe tableau d’objets Oui

Chaque objet du nuget.exe tableau a les propriétés suivantes :

Nom Type Obligatoire Notes
version string Oui Chaîne SemVer 2.0.0
url string Oui Une URL absolue pour le téléchargement de cette version de nuget.exe
étape string Oui Chaîne d’énumération
Téléchargé string Oui Horodatage ISO 8601 approximatif de la date de mise à disposition de la version

Les éléments du tableau sont triés dans l’ordre décroissant, SemVer 2.0.0. Cette garantie est destinée à réduire la charge d’un client qui est intéressé par le numéro de version le plus élevé. Toutefois, cela signifie que la liste n’est pas triée dans l’ordre chronologique. Par exemple, si une version principale inférieure est gérée à une date ultérieure à une version majeure supérieure, cette version en service n’apparaît pas en haut de la liste. Si vous souhaitez que la version la plus récente soit libérée par horodateur, il vous suffit de trier le tableau par la uploaded chaîne. Cela fonctionne parce que l' uploaded horodatage est au format ISO 8601 qui peut être trié par ordre chronologique à l’aide d’un tri lexicographique (par exemple, un tri de chaîne simple).

La stage propriété indique le degré de vérification de cette version de l’outil.

Étape Signification
EarlyAccessPreview Pas encore visible sur la page Web de téléchargement et doit être validé par les partenaires
Final Disponible sur le site de téléchargement, mais n’est pas encore recommandée pour une consommation étendue
ReleasedAndBlessed Disponible sur le site de téléchargement et est recommandé pour la consommation

Une approche simple pour disposer de la version la plus récente recommandée consiste à prendre la première version de la liste qui a la stage valeur ReleasedAndBlessed . Cela fonctionne parce que les versions sont triées dans l’ordre SemVer 2.0.0.

Le NuGet.CommandLine package sur NuGet.org est généralement uniquement mis à jour avec des ReleasedAndBlessed versions.

Exemple de requête

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

Exemple de réponse

[!code-JSON tools-json.json]