通过Connected Services创建OpenAPI客户端后出现构建错误该如何处理
错误原因
该编译错误的核心是PetStoreApiClient类被重复生成:一份是你手动添加到项目中的PetStoreApiClient.cs,另一份是OpenApiReference在构建时自动在obj目录生成的客户端代码,两份完全一致的类定义导致了命名歧义。
解决步骤
- 删除项目中手动添加的
PetStoreApiClient.cs文件。OpenApiReference机制会自动管理代码生成流程,无需手动将生成结果加入项目。 - 清理项目残留文件。右键点击解决方案选择「清理解决方案」,之后手动删除项目根目录下的
obj、bin文件夹,清除之前生成的重复代码缓存。 - 调整csproj配置,在原有
OpenApiReference节点下补充配置,避免多套生成逻辑冲突:
<ItemGroup> <OpenApiReference Include="OpenAPIs\openapi.json" CodeGenerator="NSwagCSharp" ClassName="PetStoreApiClient" OutputPath="PetStoreApiClient.cs"> <SourceUri>https://petstore3.swagger.io/api/v3/openapi.json</SourceUri> <!-- 替换为你项目的实际命名空间 --> <Namespace>你的项目命名空间</Namespace> </OpenApiReference> </ItemGroup> <!-- 若同时安装了第三方NSwag工具,需在PropertyGroup节点明确指定生成器 --> <PropertyGroup> <UseNSwag>true</UseNSwag> </PropertyGroup>
- 保存csproj文件后重新构建解决方案,冲突错误即可消失。
内容的提问来源于stack exchange,提问作者Odrai
相关产品推荐
相关产品推荐

