Страница справки ASP.NET Web API в отдельном проекте
У меня есть проект ASP.NET Web API, и я хочу добавить страницу справки, но я хочу, чтобы он был в отдельном проекте.
Возможно ли это?
Ответ 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 в проекте справки: