Как заставить WebApi HelpPage распознавать документацию модели, расположенную вне самого проекта WebApi

Допустим, у меня есть два проекта в одном решении

  • WebApi: проект WebApi, который предоставляет точки доступа для всех служб API
  • Core: библиотечный проект, в котором определена бизнес-логика, включая модель системы.

Для каждого запроса WebApi он использует ModelState для проверки правильности модели, а затем передает запрос в бизнес-модель, определенную в библиотеке Core, для получения результата.

Я хотел иметь автоматическую документацию по API, поэтому настроил проект WebApi для генерации XML-документа, и модуль HelpPage работал идеально, как ожидалось, за исключением случаев, когда речь идет о моделях, определенных в Core.dll, он оставлен пустым.

Интересно, есть ли какое-нибудь решение, которое могло бы заставить модуль HelpPage "распознавать" XML-документацию вне проекта WebApi?

1 ответ

Решение

Для каждой внешней библиотеки, содержащей документацию, вы можете настроить событие после сборки, которое копирует локально сгенерированный файл XML в центральную папку "документация". Это, очевидно, потребовало бы, чтобы каждый проект, который генерирует XML-документы, имел уникальное имя файла.

Затем ваш проект веб-API может запустить событие после сборки, чтобы скопировать все необходимые ему XML-файлы из центральной общей библиотеки в свою собственную папку проекта. Затем вам нужно настроить поставщика документации XML для поиска нескольких файлов XML, как показано в этом посте.

Как Xml Documentation для Web Api может включать в себя документацию, выходящую за рамки основного проекта?

Другие вопросы по тегам