【问题标题】:Visual Studio 2019 - Connected Service Reference - OpenAPI is generating duplicate typesVisual Studio 2019 - 连接服务参考 - OpenAPI 正在生成重复类型
【发布时间】:2021-10-23 01:37:33
【问题描述】:

我正在尝试在 Visual Studio 2019..Net 5.0 中生成 OpenApi 服务引用。

右键项目>添加>连接的服务>+服务引用

我正在使用 NetDocs api“https://api.vault.netvoyage.com/v2/swagger/docs/v2”。

结果:我得到了生成的 c# 客户端代码,但它正在复制具有以下错误的类型。

Severity    Code    Description Project File    Line    Suppression State
Error   CS0102  The type 'v2Client' already contains a definition for '_settings'   OpenAPITest C:\Users\dryfus\source\repos\OpenAPITest\obj\v2Client.cs    4941    Active
Error   CS0579  Duplicate 'System.CodeDom.Compiler.GeneratedCode' attribute OpenAPITest C:\Users\dryfus\source\repos\OpenAPITest\obj\v2Client.cs    4936    Active
Error   CS0102  The type 'v2Client' already contains a definition for '_baseUrl'    OpenAPITest C:\Users\dryfus\source\repos\OpenAPITest\obj\v2Client.cs    4939    Active
Error   CS0102  The type 'v2Client' already contains a definition for '_httpClient' OpenAPITest C:\Users\dryfus\source\repos\OpenAPITest\obj\v2Client.cs    4940    Active

有没有办法让它与连接器方式一起工作而没有重复?甚至是cli?关于为什么要创建重复项的任何建议?

【问题讨论】:

  • 我在 VS 2019 版本 16.11.3 中遇到了同样的问题你找到解决办法了吗?
  • 看我的回答。我不得不使用赃物工作室。我无法修复 VS。
  • 知道了,奇怪的是他们推出了这个错误

标签: visual-studio swagger openapi connector asp.net-core-5.0


【解决方案1】:

我遇到了同样的问题,结果代码生成不喜欢在其 operationId 中带有下划线的 enpoints。幸运的是,我使用的服务也是我们代码的一部分,所以我可以直接转到 API 端的 Swagger 配置并更改 CustomOperationIds 设置。

【讨论】:

    【解决方案2】:

    我下载并使用 NSwagStudio 生成客户端代码,并没有遇到与 Visual Studio 连接器在生成代码时相同的问题。

    https://github.com/RicoSuter/NSwag/wiki/NSwagStudio

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-07
      • 2021-07-27
      • 1970-01-01
      • 2014-10-01
      相关资源
      最近更新 更多