NuGet API Получить версию пакета - PullRequest
0 голосов
/ 27 марта 2019

Я пытаюсь получить самую новую версию из пакета (в моем случае я пробую его с пакетом StyleCopAnalyzer https://www.nuget.org/packages/StyleCop.Analyzers).

Моя цель - выяснить, какая самая новая версия этого пакета, япробуя это со следующим вызовом get api:

https://api.nuget.org/v3/registration3/StyleCop.Analyzers/index.json

Из-за некоторых ошибок в запросе я получаю этот json обратно:

<?xml version="1.0" encoding="ISO-8859-1"?>
<Error>
<Code>BlobNotFound</Code>
<Message>The specified blob does not exist. RequestId:c2c2ffba-701e-0063-0daa-e47670000000 Time:2019-03-27T14:38:14.3708948Z</Message>
</Error>

Я создал этозапрос с помощью этого документа:

https://docs.microsoft.com/en-us/nuget/api/overview

Заранее спасибо за помощь.

1 Ответ

0 голосов
/ 27 марта 2019

Указанный вами URL-адрес документирован на странице метаданных пакета .Часть, в которой говорится о формате URL, имеет следующий вид:

GET {@idilitary/ enjLOWER_ID‹/index.json

Имя в типе Обязательные примечания

LOWER_ID Строка URL-адреса да Идентификатор пакета в нижнем регистре

Значение LOWER_ID - это требуемый идентификатор пакета в нижнем регистре с использованием правил, реализованных методом .NET System.String.ToLowerInvariant ().

В другом местена странице, где есть примеры URL, вы также можете видеть, что идентификатор пакета в нижнем регистре.

Кроме того, в верхней части страницы есть небольшая таблица о версиях .Как говорится в документации, использование базы регистрации v3.0.0 или v3.4.0 не вернет вам пакеты, которые используют строку версии SemVer2.Поэтому, если вы хотите избежать пропусков версий пакетов, вы должны получить RegistrationsBaseUrl/3.6.0 и идентификатор пакета в нижнем регистре:

https://api.nuget.org/v3/registration3-gz-semver2/stylecop.analyzers/index.json

...