Документация для обеспечения интеграции XmlDoc в ваши Api проектов Web появляется только рукоятки ситуаций , когда все ваши типов API являются частью вашего WebAPI проекта. В частности, обсуждается, как перенаправить XML-документацию App_Data/XmlDocument.xml
и раскомментировать строку в вашей конфигурации, которая будет использовать этот файл. Это неявно разрешает только один файл документации проекта.
Однако в моих настройках типы запросов и ответов определены в общем проекте «Модели». Это означает, что если у меня определена конечная точка, например:
[Route("auth/openid/login")]
public async Task<AuthenticationResponse> Login(OpenIdLoginRequest request) { ... }
Где OpenIdLoginRequest
определено в отдельном проекте C #, например:
public class OpenIdLoginRequest
{
/// <summary>
/// Represents the OpenId provider that authenticated the user. (i.e. Facebook, Google, etc.)
/// </summary>
[Required]
public string Provider { get; set; }
...
}
Несмотря на комментарии XML, свойства request
параметра не содержат документации при просмотре страницы справки для конкретной конечной точки (т.е. http://localhost/Help/Api/POST-auth-openid-login
).
Как я могу сделать так, чтобы типы в подпроектах с XML-документацией отображались в XML-документации Web API?
источник
var files...
строку на,var files = Directory.GetFiles(documentPath, "*.xml");
если вы (как и я) не всегда будете знать имена / количество файлов документации xml, которые будут там. При необходимости может также выполнять дополнительную фильтрацию.Я тоже столкнулся с этим, но я не хотел редактировать или дублировать какой-либо сгенерированный код, чтобы избежать проблем позже.
Основываясь на других ответах, вот автономный поставщик документации для нескольких источников XML. Просто вставьте это в свой проект:
... и включите его в себе,
HelpPageConfig
указав пути к нужным XML-документам:источник
Еще один упрощенный способ сделать это - объединить файлы xml. Пример кода в моем ответе ниже:
XML-комментарии на странице справки веб-API из более чем 1 файла
источник
Самый простой способ решить эту проблему - создать папку App_Code на развернутом сервере. Затем скопируйте XmlDocument.xml, который находится в папке bin, локально в папку App_Code.
источник