Как обновить AutoRest в визуальной студии 2017

Контекст Я хотел бы использовать сгенерированный клиентом AutoRest для сервиса webapi с помощью "Добавить"/"Клиент REST API..." в Visual Studio 2017. Однако он выдает следующую ошибку:

  • [Info]AutoRest Core 0.16.0.0
  • ...
  • [Fatal] Ошибка при создании модели клиента: формат коллекции "multi" не поддерживается (в параметре "xxx").

Более старая версия AutoRest (например, 0.16.0) не поддерживает "мульти" формат сбора. Поэтому я установил последнюю версию AutoRest 0.17.3. используя Nuget. Но когда я использую "Добавить"/"REST API Client...", он по-прежнему использует версию 0.16.0 AutoRest и выдает мне ту же ошибку. Похоже, что Visual Studio 2017 имеет встроенную сборку AutoRest версии 0.16.

Вопрос Как получить последнюю версию AutoRest и интегрировать ее в Visual studio 2017?

0 ответов

У меня тоже была эта проблема, поэтому я создал для нее инструмент под названием REST API Client Code Generator. Я работал в командах, где мы использовали такие инструменты, как AutoRest, NSwag и Swagger Codegen для создания наших клиентов REST API, и меня всегда раздражало, что инструмент "Добавить новый - REST API Client..." в Visual Studio не всегда работал и было очень хлопотно, когда пришло время заново сгенерировать клиента

В REST API Code Client Generator копилки спины на верхней AutoRest, NSwag, и Java SDK для Swagger Codegen CLI и OpenAPI Codegen CLI. Итак, чтобы иметь возможность использовать AutoRest, вам потребуется установить Node.js, а затем вам нужно вручную установить AutoRest с помощью NPM.

npm install -g autorest

Использование этого инструмента добавит файл Swagger.json в проект C# и установит для него настраиваемый инструмент, поэтому каждый раз при внесении изменений в файл Swagger.json код клиента API генерируется повторно. Вам придется вручную обновить файл Swagger.json, хотя, если вы используете Auto, NSwag, Swagger Codegen, OpenAPI Codegen. Но если вы решили использовать NSwag Studio для генерации кода, вы можете просто повторно сгенерировать код прямо из файла.nswag из проекта C#.

Другие вопросы по тегам