我的解决方案中有三个项目,一个包含API控制器类,另一个包含所有实体,模型和Db类,而另一个则是我使用autorest和swagger JSon为我的API生成客户端的项目。我的客户项目中引用了模型/实体项目。 我正在使用以下脚本来生成客户端:
@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
}
我面临的问题是,每次使用此命令生成客户端时,都必须为所有模型/实体名称空间显式添加“ using”语句。例如在这里创建的所有三个文件(UserOperationsExtensions,UserOperations,IUserOperations)中。我必须去添加'using MyNamespace'行。是因为客户在另一个项目中吗?我该如何解决?如果我要创建一个新模型并在我的API中使用它,那么每次添加它都是非常繁琐的事情。