使用OpenApiReference时如何通过.nswag等外部文件配置代码生成器选项
解决方案
完全支持使用外部.nswag配置文件来管理生成参数,不需要将所有配置堆叠在.csproj的<Options>节点中,操作方式如下:
- 先用NSwagStudio调试好所有生成配置,导出保存为
.nswag格式文件(比如命名为MyClientGenerateConfig.nswag),将该文件放在你的项目根目录或者专门的配置目录下。 - 修改.csproj中的
<OpenApiReference>节点,删除原有的<Options>、ClassName等和生成参数相关的配置,新增<NSwagConfiguration>节点指向你的.nswag文件即可,示例如下:
<OpenApiReference Include="OpenAPIs\swagger.json" CodeGenerator="NSwagCSharp"> <SourceUri>https://localhost:xxxx/swagger/v1/swagger.json</SourceUri> <!-- 新增节点指定nswag配置文件路径,路径为相对于.csproj文件的相对路径 --> <NSwagConfiguration>MyClientGenerateConfig.nswag</NSwagConfiguration> </OpenApiReference>
注意事项
- 配置优先级:指定
.nswag文件后,所有生成相关的参数都将从该JSON文件读取,<OpenApiReference>下的<Options>、ClassName等配置会自动失效,无需保留。 - 若你希望生成时自动拉取最新的接口文档,保持
<SourceUri>配置即可,不需要单独修改.nswag文件中的接口源地址,两者会自动匹配。 - 对于更复杂的生成场景,你也可以直接将NSwag命令行执行逻辑加入项目预生成事件,示例命令如下:
nswag run /runtime:Net60 ./MyClientGenerateConfig.nswag
内容的提问来源于stack exchange,提问作者g.pickardou
相关产品推荐
相关产品推荐

