.NET クラスライブラリヘルプ(HTML)をコマンドラインからサッと作れるようにする

オンラインで公開するためのヘルプの作成を Jenkins とかに引っかけるために調べてみました。

準備

ドキュメント化対象プロジェクトがXMLドキュメントファイルを出力するようにする

プロジェクト設定で [XMLドキュメントファイル] にチェックを入れます。
f:id:lriki:20151003174447p:plain

Sandcastle Help File Builder をインストールする

http://shfb.codeplex.com/releases/view/574439
VisualStudio のアドオンとかいろいろ入れるか問われますが、Sandcastle 本体だけでOKです。

プロジェクトファイル (*.shfbproj) を作る

インストールした SandcastleBuilderGUI.exe を起動して、
メニューの [File] > [New Project] から。

出力するヘルプの形式を選択する

真ん中のビューの[Build these help file format]から適当に。
f:id:lriki:20151003174721p:plain

ドキュメント化対象を選択する

対象はクラスライブラリの DLL と、XMLドキュメントファイルです。
[Project Explorer] ウィンドウの [Documentation Sources] を右クリックし、[Add documentation Source...] から .dll と .xml を選択します。
f:id:lriki:20151003174624p:plain

ビルド

ビルドは MSBuild コマンドで行います。

MSBuild /p:Configuration=Release /property:SHFBROOT="D:\Program Files (x86)\EWSoftware\Sandcastle Help File Builder" "プロジェクトファイル.shfbproj"

成功すると "Help" フォルダにヘルプファイルが生成されます。
あとはこのフォルダをサーバに送って index.html にアクセス。無事に表示できました。