Swashbuckle.AspNetCore: Potential problems with 6.3.0
Running a .net 6.0 C# Web API.
After upgrading Swashbuckle.AspNetCore from 6.2.3 to 6.3.0, the API will not start, and gives the following error message:
Swashbuckle.AspNetCore.SwaggerGen.SwaggerGeneratorException: Failed to generate Operation for action(ActionName) . See inner exception —> Swashbuckle.AspNetCore.SwaggerGen.SwaggerGeneratorException: Failed to generate schema for type(ActionType). See inner exception —> System.NullReferenceException: Object reference not set to an instance of an object. at Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.GenerateSchemaForMember(Type modelType, SchemaRepository schemaRepository, MemberInfo memberInfo, DataProperty dataProperty) at Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.CreateObjectSchema(DataContract dataContract, SchemaRepository schemaRepository) at Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.<>c__DisplayClass10_0.<GenerateConcreteSchema>b__3() at Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.GenerateReferencedSchema(DataContract dataContract, SchemaRepository schemaRepository, Func
1 definitionFactory) at Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.GenerateConcreteSchema(DataContract dataContract, SchemaRepository schemaRepository) at Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.GenerateSchemaForMember(Type modelType, SchemaRepository schemaRepository, MemberInfo memberInfo, DataProperty dataProperty) at Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.CreateObjectSchema(DataContract dataContract, SchemaRepository schemaRepository) at Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.<>c__DisplayClass10_0.<GenerateConcreteSchema>b__3() at Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.GenerateReferencedSchema(DataContract dataContract, SchemaRepository schemaRepository, Func
1 definitionFactory) at Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.GenerateConcreteSchema(DataContract dataContract, SchemaRepository schemaRepository) at Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.GenerateSchemaForType(Type modelType, SchemaRepository schemaRepository) at Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.GenerateSchema(Type modelType, SchemaRepository schemaRepository, MemberInfo memberInfo, ParameterInfo parameterInfo, ApiParameterRouteInfo routeInfo) at Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.CreateArraySchema(DataContract dataContract, SchemaRepository schemaRepository) at Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.<>c__DisplayClass10_0.<GenerateConcreteSchema>b__1() at Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.GenerateConcreteSchema(DataContract dataContract, SchemaRepository schemaRepository) at Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.GenerateSchemaForMember(Type modelType, SchemaRepository schemaRepository, MemberInfo memberInfo, DataProperty dataProperty) at Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.CreateObjectSchema(DataContract dataContract, SchemaRepository schemaRepository) at Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.<>c__DisplayClass10_0.<GenerateConcreteSchema>b__3() at Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.GenerateReferencedSchema(DataContract dataContract, SchemaRepository schemaRepository, Func1 definitionFactory) at Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.GenerateConcreteSchema(DataContract dataContract, SchemaRepository schemaRepository) at Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.GenerateSchemaForType(Type modelType, SchemaRepository schemaRepository) at Swashbuckle.AspNetCore.SwaggerGen.SchemaGenerator.GenerateSchema(Type modelType, SchemaRepository schemaRepository, MemberInfo memberInfo, ParameterInfo parameterInfo, ApiParameterRouteInfo routeInfo) at Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator.GenerateSchema(Type type, SchemaRepository schemaRepository, PropertyInfo propertyInfo, ParameterInfo parameterInfo, ApiParameterRouteInfo routeInfo) --- End of inner exception stack trace --- at Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator.GenerateSchema(Type type, SchemaRepository schemaRepository, PropertyInfo propertyInfo, ParameterInfo parameterInfo, ApiParameterRouteInfo routeInfo) at Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator.CreateResponseMediaType(ModelMetadata modelMetadata, SchemaRepository schemaRespository) at Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator.<>c__DisplayClass19_0.<GenerateResponse>b__2(String contentType) at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable
1 source, Func2 keySelector, Func
2 elementSelector, IEqualityComparer1 comparer) at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable
1 source, Func2 keySelector, Func
2 elementSelector) at Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator.GenerateResponse(ApiDescription apiDescription, SchemaRepository schemaRepository, String statusCode, ApiResponseType apiResponseType) at Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator.GenerateResponses(ApiDescription apiDescription, SchemaRepository schemaRepository) at Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator.GenerateOperation(ApiDescription apiDescription, SchemaRepository schemaRepository) — End of inner exception stack trace — at Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator.GenerateOperation(ApiDescription apiDescription, SchemaRepository schemaRepository) at Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator.GenerateOperations(IEnumerable1 apiDescriptions, SchemaRepository schemaRepository) at Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator.GeneratePaths(IEnumerable
1 apiDescriptions, SchemaRepository schemaRepository)a at Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator.GetSwagger(String documentName, String host, String basePath) at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider)
by downgrading back to 6.2.3 it started working again.
I also have the Swashbuckle.AspNetCore.Newtonsoft installed - but any permutation of version 6.3.0 gives the same error message.
About this issue
- Original URL
- State: closed
- Created 2 years ago
- Reactions: 12
- Comments: 20 (4 by maintainers)
Commits related to this issue
- Fixes #2368 — committed to Eneuman/Swashbuckle.AspNetCore-1 by Eneuman 2 years ago
- fix: revert swagger to 6.2.3 Issue: https://github.com/domaindrivendev/Swashbuckle.AspNetCore/issues/2368 — committed to ArneD/swagger by ArneD 2 years ago
- fix: revert swagger to 6.2.3 Issue: https://github.com/domaindrivendev/Swashbuckle.AspNetCore/issues/2368 — committed to Informatievlaanderen/swagger by ArneD 2 years ago
- revert to swashbuckle 6.2.3 and regen clients https://github.com/domaindrivendev/Swashbuckle.AspNetCore/issues/2368 — committed to microsoft/TeamCloud by colbylwilliams 2 years ago
- Fix "Failed to load API definition" on v2 swagger Possible Problems with >6.3.0+ cause this issue. Reverting to working version as mentioned in https://github.com/domaindrivendev/Swashbuckle.AspNetCo... — committed to ShokoAnime/ShokoServer by krbrs 2 years ago
- Up other packages Except swashbuckle due to unresolved issue https://github.com/domaindrivendev/Swashbuckle.AspNetCore/issues/2368 — committed to KevinRecuerda/RecShark by Gafs63 2 years ago
- Migration to dotnet 6 (#60) * Upgrade csproj to target net6.0 * Up Microsoft.AspNetCore.* & Microsoft.Extensions.* * Up other packages Except swashbuckle due to unresolved issue https://g... — committed to KevinRecuerda/RecShark by Gafs63 2 years ago
I am facing the same problem in v6.4.0.
I’ll take a look at this right away and make a PR for it.
Hey, there is a blocker issue for most of the users and no solution? Any plans to fix it soon?
A workaround is to compile your own version. @domaindrivendev can we address this issue next release please?
@KnightSwordAG It looks like that package is using a dictionary with known keys so this might be related to this.
SignalRSwaggerGen.<>c__DisplayClass8_0.<ToOpenApiParameters>b__0
@domaindrivendev adding the link to the app which reproduces the issue. it is caused by builder.Services.AddSwaggerGenNewtonsoftSupport() (l:6) in Program.cs due to enum in CrashObject.cs
https://github.com/zsalkus/Swashbuckle.AspNetCore.CrashDemo
Facing the same issue after upgrading from Swashbuckle.AspNetCore 6.2.3 to version 6.3.0. Also using Newtonsoft.
6.2.3 works fine.