HTMLドキュメント作成用のプロジェクトを作成します。
Visual Studioソリューションエクスプローラーの『ソリューション』で右クリック➡『追加(D)』➡『新しいプロジェクト(N)…』でプロジェクトをソリューションに追加します。
新しいプロジェクトを追加C#の.NETまたは.NET Standardを対象とするクラスライブラリを選択します。
新しいプロジェクトを構成しますプロジェクト名を『Docs』にしています。
『次へ(N)』で次に進みます。
追加情報『作成(C)』でDocsプロジェクトが作成されます。
Class1.csの削除自動的に作成された『Class1.cs』を削除します。
Visual Studioのツールバーから『ツール(T)』➡『コマンドライン(L)』➡『開発者用PowerShell(P)』で開発者用PowerShellを起動します。
docfx init -y Remove-Item docfx.json,index.md,toc.yml
下記のいずれかの方法でDocsプロジェクトのプロジェクトファイルを開いて編集します。
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<IsPackable>false</IsPackable>
</PropertyGroup>
<Target Name="BuildDocs" AfterTargets="Build"
Condition="'$(SolutionPath)' != '' And '$(Configuration)' == 'Release'">
<Message Text="Generating DocFX metadata..." Importance="high" />
<WriteLinesToFile File="_includes/version.md" Lines='$(Version)' Overwrite="true" />
<Message Text="Generating DocFX documentation..." Importance="high" />
<Exec Command="docfx metadata docfx.json" />
<Exec Command="docfx build docfx.json" />
</Target>
</Project>
Docsプロジェクトの直下にDocFXの定義ファイルdocfx.jsonを作成します。
{
"$schema": "https://raw.githubusercontent.com/dotnet/docfx/main/schemas/docfx.schema.json",
"metadata": [
{
"src": [
{
"src": "../",
"files": [ "/Com/Com.csproj", "/NuGet/NuGet.csproj" ],
"exclude": [ "**/bin/**", "**/obj/**" ]
}
],
"dest": "_api",
"disableGitFeatures": true
}
],
"build": {
"content": [
{
"files": [ "**/*.md", "toc.yml", "_api/**.yml" ]
"exclude": [ "_includes/**" ]
}
],
"dest": "_site",
}
}
_site/index.htmlの生成元となるindex.mdを作成します。
# ProgressLLC.OAuthLib ([!include[](includes/_version.md)]) プログレス合同会社 OAuth 2.0 ライブラリ ## COM版 - <xref:ProgressLLC.OAuthLib.Com> ## NuGet版 - <xref:ProgressLLC.OAuthLib.NuGet>
DocFXが自動で生成するファイルやフォルダーをGit管理の対象外にします。
: # DocFX Genarated file Docs/_site Docs/api Docs/includes