Подтвердить что ты не робот

Страница справки ASP.NET Web API в отдельном проекте

У меня есть проект ASP.NET Web API, и я хочу добавить страницу справки, но я хочу, чтобы он был в отдельном проекте.

Возможно ли это?

4b9b3361

Ответ 1

Вы можете переписать конструктор XmlDocumentationProvider на что-то вроде этого:

public XmlDocumentationProvider(string appDataPath)
{
    if (appDataPath == null)
    {
        throw new ArgumentNullException(nameof(appDataPath));
    }

    var files = new[] { "MyWebApiProject.xml" /*, ... any other projects */ };
    foreach (var file in files)
    {
        var xpath = new XPathDocument(Path.Combine(appDataPath, file));
        _documentNavigators.Add(xpath.CreateNavigator());
    }
}

Он будет содержать все файлы документации xml, которые вы укажете в массиве. Вы также должны убедиться, что ваш целевой проект веб-API (и все проекты модели при необходимости) создает документацию по сборке и копирует ее в нужное место. введите описание изображения здесь

Ответ 2

Вы должны вызвать WebApiConfig.Register из проекта веб-API в проекте справки:

  protected void Application_Start()
  {
     AreaRegistration.RegisterAllAreas();
     RouteConfig.RegisterRoutes(RouteTable.Routes);
     GlobalConfiguration.Configure(MyApiProjectNamespace.WebApiConfig.Register);
  }