2017-09-27 103 views
0

我在基本認證的.NET Web API中使用了Swashbuckle 5.3版本(按照此link)。現在,當我嘗試使用Swashbuckle 5.6版本進行更新時,它會拋出錯誤「未找到密鑰」。 問題在於以下代碼片段。在路由映射期間,它無法從路由集合中找到'swagger_ui'。我試着用其他不同的路線值(如「招搖」,「/招搖」,「招搖/文檔」),但他們都不是工作Swagger UI與Swashbuckle最新版本不兼容

var route = config.Routes["swagger_ui"]; 
     config.Routes.Remove("swagger_ui"); 
     config.Routes.MapHttpRoute("swagger_ui", route.RouteTemplate, route.Defaults, route.Constraints, new AuthMessageHandler(route.Handler)); 
+0

這很奇怪,你有一個最小的項目再現這個問題? – HelderSepu

+0

我用'swagger_ui_shortcut'替換了'swagger_ui',它工作:)我通過引用這個[link](https://github.com/domaindrivendev/Swashbuckle/blob/master/Swashbuckle.Core/Application/HttpConfigurationExtensions.cs ) – devangi

回答