使用NSwag工具链生成ASP.NET Core Web API OpenAPI客户端遇CS0234错误
解决NSwag生成代码报CS0234错误的思路
检查NuGet包引用
EnumMemberAttribute在.NET 5中并非框架自带组件,需要手动安装System.Runtime.Serialization.Primitives包。可以打开NuGet包管理器搜索安装对应版本,也可以在Package Manager Console执行命令:Install-Package System.Runtime.Serialization.Primitives -Version 5.0.0。调整NSwag生成配置
重新打开OpenAPI Service Reference的配置界面,找到序列化相关设置,取消勾选「Use EnumMemberAttribute」选项,改用枚举名称直接序列化,之后重新生成客户端代码。确认项目目标框架
右键项目→属性→应用程序,检查目标框架是否确实为.NET 5.0。如果误选了其他版本(比如.NET 6),可能会出现命名空间引用不匹配的问题。临时手动修复(不推荐长期使用)
找到生成代码中报错的枚举定义部分,直接移除[EnumMember(...)]特性,或者手动补加using System.Runtime.Serialization;语句——但注意重新生成代码时会覆盖这些修改,仅作为临时应急方案。
内容的提问来源于stack exchange,提问作者MaximusP
相关产品推荐
相关产品推荐

