Генерация клиентов для 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.