движки генерирующие документацию по XML комментариям?
Какие движки Вы используете что бы сгенерировать документацию по Xml комментариям ? DocFX пишут что может это делать но не найду мануала как подключать XML документацию к нему что бы она автоматически генерировалась в HTML страницы сайта.Что еще можно использовать ?
Ответы (1 шт):
Такой мануал для DocFX есть здесь: https://dotnet.github.io/docfx/tutorial/walkthrough/walkthrough_create_a_docfx_project_2.html
Чтобы подключить XML-документацию к сайту DocFX, нужно добавить в источники либо *.csproj проекта (чтобы документация бралась из исходников), либо собранные файлы *.dll (чтобы документация бралась из *.xml файлов, сгенерированных компилятором рядом с DLL). Первый способ обычно лучше, но он требует установленной Visual Studio 2019 на машине, где осуществляется сборка документации, даже если сам проект создан в более старой версии.
Вот пример docfx.json с использованием XML-документации:
{
"metadata": [
{
"src": [
{
"files": ["*.dll"],
"src": "MyLib/bin/Debug/"
}
],
"dest": "api"
}
],
"build": {
"content": [
{
"files": [
"api/**.yml",
"api/index.md"
]
},
{
"files": [
"articles/**.md",
"articles/**/toc.yml",
"toc.yml",
"*.md"
]
}
],
"resource": [
{
"files": [
"images/**"
]
}
],
"overwrite": [
{
"files": [
"apidoc/**.md"
],
"exclude": [
"obj/**",
"_site/**"
]
}
],
"dest": "docs",
"globalMetadata": {
"_appTitle": "My Lib"
},
"globalMetadataFiles": [],
"fileMetadataFiles": [],
"template": [
"default"
],
"postProcessors": [],
"markdownEngineName": "markdig",
"noLangKeyword": false,
"keepFileLink": false
}
}
Здесь исходными данными для документации являются файлы XML для всех DLL из каталога MyLib/bin/Debug/, файлы .md из каталога articles и изображения из каталога images. (Несмотря на то, что в json исходными файлами считается DLL, на самом деле информация будет браться из XML-файлов.)
Для генерации на основе проекта секцию metadata нужно будет поменять так:
"metadata": [
{
"src": [
{
"files": [
"MyLib/**.csproj"
],
"exclude": [
"**/bin/**",
"**/obj/**"
]
}
],
"dest": "api"
}
]