2017-02-14 12 views
0

Я установил Swagger в моем проекте ASP.NET MVC Core, и он прекрасно документирует мой API.В чем причина ошибки, которая возникает в коллекции маршрутов для Web API 2?

Мой коллега попросил меня установить его в полный проект 4.6.1, поэтому я сделал следующее.

В консоли Package Manager запуска:

Install-Package Swashbuckle 

Чтобы получить тест веб-контроллера API работы: 1) закомментируйте в WebApi.config:

// config.SuppressDefaultHostAuthentication(); 
// config.Filters.Add(new HostAuthenticationFilter(OAuthDefaults.AuthenticationType)); 

Сейчас этот URL: http://localhost:33515/api/Test возвращает XML:

<ArrayOfstring xmlns:i="http://www.w3.org/2001/XMLSchema-instance"  xmlns="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> 
<string>value1</string> 
<string>value2</string> 
</ArrayOfstring> 

В Global.asax Реестре() я называю:

SwaggerConfig.Register(); 

В AppStart.Swagger.Config Реестре() я ставлю:

public class SwaggerConfig 
{ 
    public static void Register() 
    {  
     var thisAssembly = typeof(SwaggerConfig).Assembly; 
     GlobalConfiguration.Configuration 
      .EnableSwagger(c => 
       { 
        c.SingleApiVersion("v1.0", "HRSA CHAFS"); 
        c.IncludeXmlComments(GetXmlCommentsPath()); 
       }) 
       .EnableSwaggerUi(c => 
       {}); 
    } 

    private static string GetXmlCommentsPath() 
    { 
     var path = String.Format(@"{0}bin\Services.XML", AppDomain.CurrentDomain.BaseDirectory); 
     return path; 

    } 
} 

Теперь я получаю эту ошибку: «Маршрут под названием ' swagger_docsswagger/docs/{apiVersion} 'уже находится в коллекции маршрутов. Имена маршрутов должны быть уникальными.»

Я застрял на этом в течение нескольких часов. Как избавиться от этого?

+0

Вы нашли решение? – MichaelD

ответ

0

Это может произойти, когда имя сборки была изменено (случилось со мной на самом деле не меняется он сам). Дублированная DLL (с ​​другим именем) будет присутствовать в вашей папке bin, и это заставляет конфигурацию swagger загружаться дважды.

 Смежные вопросы

  • Нет связанных вопросов^_^