Я пытаюсь сделать этот вызов и не могу определить, где находится пространство имен Packages
. Кажется, я тоже не могу найти его в Интернете.
Вызов REST предназначен для следующего
Если вы посмотрите на тип ответа, это Package[]
. Я хочу десериализовать его в этот тип объекта.
Я делаю другие вызовы API и могу найти их пространство имен.
У меня установлены текущие пакеты nuget https://www.nuget.org/packages/Microsoft.TeamFoundationServer.Client/
<PackageReference Include = "Microsoft.TeamFoundationServer.Client" Version = "19.225.1" />
Это для служб Azure DevOps, поэтому это последняя версия.
Я знаю, что мог бы сделать это @MichałTurczyn, но я предполагаю, что Microsoft просто предоставляет все классы для десериализации ваших ответов. Интересно, существует ли этот конкретный класс, и, возможно, я пропустил пространство имен (документация действительно не помогает)
ChatGPT говорит, что класс, который вы описываете, не существует, и вам нужно создать свой собственный.
@RobertHarvey лол интересно
Есть ли у вас схема ответа JSON или образец возвращаемых данных в формате JSON? Если да, вы можете создавать собственные классы здесь: json2csharp.com
@RobertHarvey да, вау, я терял время вручную, добавляя свойства в класс, спасибо
@RobertHarvey В студии Visual также есть встроенная функция, о которой я забыл. Он может делать как json, так и xml
Боюсь, такого .NET-клиента для управления пакетами каналов и артефактов не существует.
Когда вы проверяете документ Клиентские библиотеки .NET для Azure DevOps и TFS и Azure DevOps .net Sdk, мы можем получить пакеты REST и подробные пространства имен, но ни одного из них для управления пакетами каналов и артефактов.
В настоящее время нам нужно запустить Rest API в проекте: Сведения об артефакте — Получить пакеты, затем мы можем настроить класс и десериализовать ответ API.
С другой стороны, вы можете отправить заявку на предложение на сайте: Сообщество разработчиков, которое является нашим основным форумом для предложений продуктов, чтобы сообщить об этой функции.
Хорошо, тогда я просто создал для этого свои собственные классы. Спасибо.
Я бы просто сделал собственный HTTP-запрос и десериализовал ответ в пользовательский класс, если у вас нет соответствующего типа в пакете.