我的解决方案中有三个项目,一个包含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中使用它,那么每次添加它都是非常繁琐的 .