-3

不工作 Swagger Ui

500 : {"Message":"发生错误。","ExceptionMessage":"DynamicMethod 的类型所有者无效。","ExceptionType":"System.ArgumentException","StackTrace":" 在 System.Reflection.Emit。 DynamicMethod.Init(字符串名称、MethodAttributes 属性、CallingConventions callConvention、Type returnType、Type[] 签名、Type owner、Module m、Boolean skipVisibility、Boolean transparentMethod、StackCrawlMark 和 stackMark)\r\n 在 System.Reflection.Emit.DynamicMethod.. ctor(String name, Type returnType, Type[] parameterTypes, Type owner, Boolean skipVisibility)\r\n at Newtonsoft.Json.Utilities.DynamicReflectionDelegateFactory.CreateDynamicMethod(String name, Type returnType, Type[] parameterTypes, Type owner)\r \n 在 Newtonsoft.Json.Utilities.DynamicReflectionDelegateFactory。CreateDefaultConstructor[T](Type type)\r\n at Newtonsoft.Json.Serialization.DefaultContractResolver.GetDefaultCreator(Type createdType)\r\n at Newtonsoft.Json.Serialization.DefaultContractResolver.InitializeContract(JsonContract contract)\r\n at Newtonsoft .Json.Serialization.DefaultContractResolver.CreateArrayContract(Type objectType)\r\n at Newtonsoft.Json.Serialization.DefaultContractResolver.CreateContract(Type objectType)\r\n at Newtonsoft.Json.Serialization.DefaultContractResolver.ResolveContract(Type type)\r \n 在 Swashbuckle.Swagger.SchemaRegistry.CreateInlineSchema(Type type)\r\n 在 Swashbuckle.Swagger.SchemaRegistry.GetOrRegister(Type type)\r\n 在 Swashbuckle.Swagger.SwaggerGenerator.CreateParameter(String location, ApiParameterDescription paramDesc, SchemaRegistry schemaRegistry)\r\n 在 Swashbuckle.Swagger.SwaggerGenerator.<>c__DisplayClass12.b__11(ApiParameterDescription paramDesc)\r\n 在 System.Linq.Enumerable.WhereSelectEnumerableIterator2.MoveNext()\r\n at System.Collections.Generic.List1..ctor(IEnumerable 1 collection)\r\n at System.Linq.Enumerable.ToList[TSource](IEnumerable1 源)\r\n 在 Swashbuckle.Swagger.SwaggerGenerator.CreateOperation(ApiDescription apiDesc, SchemaRegistry schemaRegistry)\r\n 在 Swashbuckle.Swagger.SwaggerGenerator.CreatePathItem(IEnumerable 1 apiDescriptions, SchemaRegistry schemaRegistry)\r\n at Swashbuckle.Swagger.SwaggerGenerator.<>c__DisplayClass7.<GetSwagger>b__4(IGrouping2 组)\r\n 在System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable 1 source, Func2 keySelector, Func2 elementSelector, IEqualityComparer1 个比较器)\r\n 在 Swashbuckle.Swagger.SwaggerGenerator.GetSwagger(字符串 rootUrl,字符串 apiVersion)\r\n 在 Swashbuckle.Application.SwaggerDocsHandler.SendAsync(HttpRequestMessage 请求,CancellationToken cancelToken)\r\n 在 System.Net。 Http.HttpMessageInvoker.SendAsync(HttpRequestMessage request, CancellationToken cancelToken)\r\n 在 System.Web.Http.Dispatcher.HttpRoutingDispatcher.SendAsync(HttpRequestMessage request, CancellationToken cancelToken)\r\n 在 System.Net.Http.DelegatingHandler.SendAsync( HttpRequestMessage 请求,CancellationToken cancelToken)\r\n 在 System.Web.Http.HttpServer.d__0.MoveNext()"} http://localhost:5352/swagger/docs/v1

4

1 回答 1

1

当我收到此错误时,是因为我的 ResponseType 定义 (WebApi) 中有错误/遗漏。编译器对此很好,但 Swagger 不是。

失败的

[ResponseType(typeof(IEnumerable<>))]

工作过

[ResponseType(typeof(IEnumerable<string>))]
于 2019-05-23T15:04:42.623 回答