CSMemo009

コメントからのドキュメントの作成

※昔書いたメモの転載だから、記述が古いかも。

C#のソース中には、「///」と半角スラッシュ3つで始まるコメントを埋めることができる。
これは特別な意味を持ち、「ビルドコメント」という。
Javaで言うJavadocの機能で使われるコメント「/**」のようなものだ。

VS2005の場合は、ソリューション(プロジェクト)のビルド設定から
XMLファイルの出力有無と、ファイル名を指定することができる。
それをONにして普通にビルドすると、XMLファイルがbinディレクトリに、EXEと一緒に
吐かれる。

このXMLを生で見ても当然意味が無い。(ただのXMLファイル。XSLファイル無し)
VS2003までは、「WEBページのビルドコメント」なるものがツールメニューにあって、
XMLからHTMLだかCHMに変換してくれたらしいが、
VS2005では削除されている。
どうも、それで作成されたドキュメントはXP SP2上では読めないというのが理由らしい。
【参考】http://blogs.wankuma.com/naka/archive/2005/06/04/12342.aspx

一方、NDOCというサードパーティーツールがあるが、
これは.NET1.1のみで、.NET2.0に非対応の模様。
.NET2.0のプロジェクトからXMLを作成してNDOCに読ませても、
HTMLファイル等をビルドするときにエラーがでる。

MSは公式ツールとして、Sandcaslteなるものを作っているらしい。
http://www.microsoft.com/downloads/details.aspx?FamilyID=e82ea71d-da89-42ee-a715-696e3a4873b2&DisplayLang=en
これは現在はプレリリース版でしかない。
また、単独では使うのが難しいらしく、支援ツールがいろいろある模様。
例えば、「Sandcastle Help File Builder」など。
http://www.codeplex.com/SHFB/Release/ProjectReleases.aspx?ReleaseId=2264
【参考】http://d.hatena.ne.jp/Wacky/20070108/1168237297


Sandcastle Help File BuilderのインタフェースはNDOCのそれに似ている。
ADDボタンでDLLまたはEXEを追加する(同じディレクトリにXMLファイルがあることが必要)。
その状態でビルドすればHTMLができるはずだが、
他のDLLが使用されている場合、その部分でエラーとなる。

これを防ぐには、それらDLLも続けてADDしてからビルドする。
ただし、それらDLLに関するXMLファイルは当然無いため、
ダミーの、空のXMLファイルを作り、それを充てる。

  • unknown.xml
<?xml version="1.0"?>
<doc>
</doc>

ただ、これをもってしてもFlexGridのDLLを含んだプロジェクトはうまくビルドできない。
[Sandcastle Help File Builder GUI, version 1.4.0.1]
Creating output and working folders...
Clearing working folder...
Finding tools...
Found Sandcastle in 'C:\Program Files\Sandcastle\'
Found HTML 1.x help compiler in 'C:\Program Files\HTML Help Workshop\'
Validating documentation assembly information...
-------------------------------
Creating Sandcastle configuration file...
    Last step completed in 00:00:00.0156
-------------------------------
Generating shared content files (en-US)...
    Last step completed in 00:00:00.0156
-------------------------------
Generating reflection information...
[C:\Documents and Settings\slwms\My Documents\[[Visual Studio]] 2005\Projects\MakeHSForm\MakeHSForm\bin\Debug\Help\Working\GenerateRefInfo.bat]
MrefBuilder (v2.2.63000.2)
Copyright c Microsoft 2006
Error: Unresolved assembly reference: System.Configuration (System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a) required by C1.Win.C1FlexGrid.2
    Last step completed in 00:00:01.6250

BUILD FAILED: Unexpected error in last build step.  See output above for details.
最終更新:2011年04月29日 16:32