Sandcastleヘルプファイルビルダーを使用して、C#XML-DOCファイルをWebサイト形式に出力しています。実際のプロジェクトをビルドするときにVisualStudioでビルドイベントとしてこれを追加できるように、コマンドラインから同じことをどのように実行できますか?
最終的な目標は、VisualStudioプロジェクトをビルドするときにWebサイトのヘルプファイルのコンテンツをビルドすることです。
Sandcastleヘルプファイルビルダーを使用して、C#XML-DOCファイルをWebサイト形式に出力しています。実際のプロジェクトをビルドするときにVisualStudioでビルドイベントとしてこれを追加できるように、コマンドラインから同じことをどのように実行できますか?
最終的な目標は、VisualStudioプロジェクトをビルドするときにWebサイトのヘルプファイルのコンテンツをビルドすることです。
Scott Wylieが示したように、これはVisualStudioのプロジェクトプロパティのビルド後のイベントコマンドラインで指定する必要があります。ただし、Sandcastleを直接使用するのではなく、Sandcastle Help File Builder (SHFB)を使用することをお勧めします。以下に示すように、コマンドライン呼び出しは短く簡単になりますが、最初にSHFB GUIを使用してSHFBプロジェクトを構成する必要があることに注意してください。これにより、「。shfbproj」サフィックスが付いたmsbuild互換のビルドファイルが作成されます。
C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ MSBuild.exe / p:Configuration=myProject.shfbprojを解放します
ただし、私はあなたがしていることとは反対のアプローチを取っていることに注意してください。VisualStudioを使用してビルドと補助アクションをインタラクティブに起動する代わりに、ant(nant)を使用してすべてのビルドを起動します。これにはVisualStudioソリューション以降が含まれます。 SHFBアクション。つまり、これは実際には、Sandcastleを使用してドキュメントを作成するために行うコマンドライン呼び出しです。
<exec executable="${msbuild}" dir="${csharpdoc}" output="${csharpdoc.log}">
<arg value="/p:Configuration=Release"/>
<arg value="myProject.shfbproj"/>
</exec>
私の好みは、ビルド全体をコマンドラインから起動できるようにすることです。これにより、対話は必要ありません(たとえば、Visual Studioの起動など)。これにより、スケジュールされた定期的なタスクとして実行するか、シェルからオンデマンドで実行する柔軟性が提供されます。
プロジェクトプロパティの[ビルドイベント]セクションで、ビルド後のイベントコマンドラインからSandCastleを呼び出すことができます。自動ビルドツールを使用していない場合、これはうまく機能するはずです。
ビルドツールにMSBuildを使用している場合、これは私がしばらく前に使用したチュートリアルです。
codeplexには、役立つかもしれない使用法を調べることができるスクリプトもあります。
お役に立てれば!
*.shfbprojプロジェクトをソリューションに追加するのが最も簡単であることがわかりました。VS 2010の内部では、(少しゆっくりではありますが)正常に構築されます。