我最近将 ASP.NET Web API 项目升级到 .NET 8。现在我有很多与
NJsonSchema.JsonObjectType
和 NJsonSchema.JsonSchema.get_Type()
相关的警告。
对属性“ResetPasswordRequest.token”应用规则“NotEmpty”时出错
System.MissingMethodException:找不到方法:'NJsonSchema.JsonObjectType NJsonSchema.JsonSchema.get_Type()'。在 ZymLabs.NSwag.FluentValidation.FluentValidationSchemaProcessor.<>c.b__9_6(RuleContext 上下文)
在 ZymLabs.NSwag.FluentValidation.FluentValidationSchemaProcessor.ApplyRulesToSchema(SchemaProcessorContext 上下文,IValidator 验证器)
库版本:
<PackageReference Include="NSwag.AspNetCore" Version="14.0.7" />
<PackageReference Include="ZymLabs.NSwag.FluentValidation.AspNetCore" Version="0.6.3" />
<PackageReference Include="FluentValidation.AspNetCore" Version="11.3.0" />
<PackageReference Include="FluentValidation.DependencyInjectionExtensions" Version="11.9.1" />
感谢您的帮助
我尝试降级库版本,但与 .NET 8 不兼容。
根本问题是 Nswag.FluentValidation 与 Nswag 提供的 NJsonSchema 版本之间不兼容,该存储库中存在一个未解决的问题这里 alpha 版本解决了这个问题。将 ZymLabs.NSwag.FluentValidation.AspNetCore 更新为 0.7.0-alpha0007,清理并重建您的解决方案,它将被修复。