Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Сегодня существует несколько способов получить последнюю версию nuget.exe на вашем компьютере в автоматизированном режиме. Например, можно скачать и извлечь NuGet.CommandLine пакет из nuget.org. Это может быть немного сложно, поскольку вам необходимо уже иметь nuget.exe (для nuget.exe install) или необходимо распаковать .nupkg с помощью простого средства распаковки и найти бинарный файл внутри.
Если у вас уже есть nuget.exe, можно также использовать nuget.exe update -self, однако для этого также требуется существующая копия nuget.exe. Этот подход также обновляет вас до последней версии. Он не позволяет использовать определенную версию.
tools.json Конечная точка доступна как для решения проблемы загрузки, так и для управления версией загружаемой nuget.exe. Это можно использовать в средах CI/CD или в пользовательских скриптах для обнаружения и скачивания любой выпущенной версии nuget.exe.
tools.json Конечную точку можно получить с помощью http-запроса без проверки подлинности (напримерInvoke-WebRequest, в PowerShell илиwget). Его можно проанализировать с помощью десериализатора JSON, а последующие URL-адреса для скачивания nuget.exe также можно получить с помощью неаутентифицированных HTTP-запросов.
Конечную точку можно получить с помощью GET метода:
GET https://dist.nuget.org/tools.json
Схема JSON для конечной точки доступна здесь:
GET https://dist.nuget.org/tools.schema.json
Ответ
Ответ — это документ JSON, содержащий все доступные версии nuget.exe.
Корневой объект JSON имеет следующее свойство:
| Имя | Тип | Обязательно |
|---|---|---|
| nuget.exe | массив объектов | yes |
Каждый объект в массиве nuget.exe имеет следующие свойства:
| Имя | Тип | Обязательно | Примечания. |
|---|---|---|---|
| version | струна | yes | Строка "SemVer 2.0.0" |
| URL-адрес | струна | yes | Абсолютный URL-адрес для скачивания этой версии nuget.exe |
| stage | струна | yes | Строка перечисления |
| Загружены | струна | yes | Приблизительная метка времени в формате ISO 8601, когда версия стала доступна |
Элементы в массиве будут отсортированы в порядке убывания согласно порядку версионирования SemVer 2.0.0. Эта гарантия предназначена для уменьшения нагрузки клиента, который заинтересован в самом высоком номере версии. Однако это означает, что список не отсортирован в хронологическом порядке. Например, если более низкая основная версия обслуживается позднее, чем более высокая основная версия, эта служба не будет отображаться в верхней части списка. Если вы хотите получить последнюю версию, выпущенную по метке времени uploaded метка времени находится в формате ISO 8601 , который можно отсортировать в хронологическом порядке с помощью лексикографической сортировки (т. е. простой сортировки строк).
Свойство stage указывает, как проверена эта версия средства.
| Этап | Meaning |
|---|---|
| Предварительный доступ к ранней версии | Пока не отображается на веб-странице скачивания и должен проверяться партнерами |
| Выпущено | Доступно на сайте скачивания, но пока не рекомендуется для широкого использования |
| Выпущено и Благословлено | Доступно на сайте скачивания и рекомендуется использовать его |
Один из простых подходов к использованию последней рекомендуемой версии — выбрать первую версию в списке со значением stageReleasedAndBlessed. Это работает, так как версии сортируются в порядке SemVer 2.0.0.
Пакет NuGet.CommandLine на nuget.org обычно обновляется только с ReleasedAndBlessed версиями.
Пример запроса
GET https://dist.nuget.org/tools.json
Пример ответа
{
"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"
}
]
}