C#と諸々

C#がメインで他もまぁ諸々なブログです
おかしなこと書いてたら指摘してくれると嬉しいです(´・∀・`)
つーかコメント欲しい(´・ω・`)

2007/07/31 12:36
ビルド自動化のために。
PowerShell で Sandcastle プロジェクトをビルドする関数。
厳密には、Sandcastle Help File Builder のプロジェクト ( 拡張子 .shfb ) をビルドする。
この関数は内部で Invoke-Process 関数を使用する。

[ パラメータ ]
sandcastleProjectFilePath
Sandcastle Help File Builder のプロジェクトファイルのパス。

[ 戻り値 ]
戻り値については Invoke-Process 関数を参照。

[ Build-SandcastleProject 関数 ]
function global:Build-SandcastleProject
{
    param ([string] $sandcastleProjectFilePath)
    trap { break; }

    if ([String]::IsNullOrEmpty($sandcastleProjectFilePath)) { throw "引数 sandcastleProjectFilePath が null または空の文字列です。"; }

    $sandcastleBuilderConsolePath = "$Env:ProgramFiles\EWSoftware\Sandcastle Help File Builder\SandcastleBuilderConsole.exe";
    $sandcastleBuilderConsoleArgs = "`"$sandcastleProjectFilePath`"";
   
    return Invoke-Process $sandcastleBuilderConsolePath $sandcastleBuilderConsoleArgs;
}



[ 使用例 ]
$result = Build-SandcastleProject "C:\work\Solution1\Reference\Solution1.shfb";
Write-Host $result.Message;
if (!$result.IsSuccess)
{
    Write-Host "Sandcastle プロジェクトのビルドに失敗しました。" -ForegroundColor "Red";
}





【 ダウンロード 】
自作の PowerShell 関数は、以下の記事からまとめてダウンロードできます。

YokoKen.PowerShell.Scripts

[ 変更履歴 ]


2008/04/03
・内部で Invoke-Process 関数を使用するよう変更。
・実行結果の詳細を取得できるよう戻り値を変更。











トラックバックURL↓
http://csharper.blog57.fc2.com/tb.php/151-88e75c4b