Генерация клиентов для API с использованием Autorest не распознает модели или объекты, используемые в API.

У меня есть три проекта в моем решении, один из которых содержит классы контроллеров API, другой - все сущности, модели и классы Db, а третий - генерацию клиентов для моих API с использованием JSon для autorest и swagger. Проект моделей / сущностей упоминается в моем проекте "Клиенты". Я использую приведенный ниже скрипт для генерации клиентов:

@echo off

IF "x%1"=="x" GOTO :usage

..\..\packages\autorest.0.17.3\tools\AutoRest -Namespace MyClient -ClientName MyApi -AddCredentials true -Header NONE -CodeGenerator Azure.CSharp -Input %1
GOTO :exit

:usage
echo Usage: GenClient ^<swagger.json^>

:exit

Файлы swagger.json имеют объекты, подобные приведенным ниже:

MyNamespace.MyUser": {
      "type": "object",
      "properties": {
        "Company": {
          "maxLength": 100,
          "minLength": 0,
          "type": "string"
        },
        "CountryName": {
          "maxLength": 100,
          "minLength": 0,
          "type": "string"
        },
        "RegionName": {
          "maxLength": 100,
          "minLength": 0,
          "type": "string"
        },
      },
      "x-ms-external": true
    }

Проблема, с которой я сталкиваюсь, заключается в том, что каждый раз, когда я генерирую клиентов с помощью этой команды, мне приходится явно добавлять операторы использования для всех пространств имен моделей / сущностей. например, здесь во всех трех созданных файлах (UserOperationsExtensions, UserOperations, IUserOperations). Я должен пойти и добавить строку "using MyNamespace". потому что клиент в другом проекте? Как я могу решить это? Мне очень утомительно добавлять его каждый раз, когда я создаю новую модель и использую ее в своих API.

0 ответов

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