ちょっとまたミニツールを作成していました。諸事情により.NET Framework1.1で。相変わらずSharpDevelopを愛用していますよー。
とりあえずProgramming Background、未発表作成物より。――って、こんな調子をSite Systemが出来るまでずっと繰り返すんでしょうか、わたしは。
NDoc関連
さて、今回NDocを使ってリファレンスを作成してみたのですが、結構つまづいたことが多かったので、その辺をメモしておこうと思います。
SharpDevelopユーザーが(別にユーザーじゃなくてもいいけど)準備すべきことは以下の通り。
- XMLドキュメントコメントを作成する
- NDoc日本語版を入手する(SharpDevelopに添付のものは日本語版ではないので注意。サイトよりダウンロード後、上書きでかまいません)
- メニューより「ドキュメントを生成」を選び、設定を済ませる
前者二つはあちこちで紹介されてるのでどうでもいいとして、最後の設定については、あんまり書かれていません。でも、日本語のヘルプページを生成するためにはいくつかの設定をいじらなければいけません。
わたしがいじって確認をとったもののみ下記に記します。ついでに強調したのは、おそらく変更必須の項目。
Document Main Settings
- CopyrightHref
- 著作者URLを記述します。URLとして不正なものだとエラーになります。
- CopyrightText
- 著作者表示として用いる文字列を記述します。たとえば「(C)2004-2006 たかみちえ」
- OutputDirectory
- 文字通り出力ディレクトリです。ndocファイルのディレクトリからの相対パス(SharpDevelopからの起動ならバイナリの出力ディレクトリ)。ここに下記で作成したファイルを全部押し込みます。
- OutputTarget
- 出力形式。「Web」はHTMLだけ。「HTML Help」は、コンパイル済みchmだけ。「HTML Help and Web」は両方生成。
- SDKDocLanguage
- とりあえず日本語で。ついでにFrenchにしてみたら日本語は化け、文字列は英語になりました。
- ShowVisualBasic
- 宣言例のコードにVisualBasicを出すかどうか。
- Title
- SDKで「.NET Framework SDK ホーム ページ」などと書かれているところの文面
HTML Help Options
- LangID
- 1041(Japanese)にしないと所々に?が出るようです。
とりあえず以上でした。LangIDとSDKDocLanguageは必ず設定しておきましょう。あとはTitleとCopyright(Href|Text)くらいは。
NAnt関連
いつも通りNAntでDLLをまとめていたのですが、妙な出来事が。ファイル名を指定してDLLファイルのコピーをしたときにファイル名が消えてしまう(「.dll」などというファイル名になってしまう)。
いろいろ調べてみたんですが、「copyタスク(またはfilesetあたり)のバグ」という結論しか出ないですね、「.がファイル名に含まれる(.がファイル名部分に二つある)ファイルを名指しで指定してコピーした場合、ファイル名が消える」という問題でしょうか。
とりあえずわたしはコピー後にリネームするという手段で逃げましたが、やっぱりバグなんでしょうか(ついでに、**/*.dllなど、名指しじゃない場合は問題なしだったようです)。
ついでに努力の跡は、同じくProgramming BackgroundにあがっているChie.InteropのBuildfileに見ることが出来ます。