2011-09-14 10 views
0

コンパイル時にカスタムコードをどのように実行しますか?各ビルドで実行される静的メソッドをマークアップするために使用できる属性はありますか?コンパイル時にイベントを受け取りますか?

私はPostSharpやMolesのようなかなりのライブラリがこのようなことをしています。これらのそれぞれは、参照されるプロジェクトのための特別なコンパイル時ルーチンを実行するように見えます。

EDIT:私はJITではなく、Visual Studioによって行われる編集のタイプを指しています。

+0

どのコンテキストでコードを実行しますか? VSにはビルド前およびビルド後のステップフックがあり、任意の実行可能ファイルを実行できます。また、ビルドシステムにプラグインして柔軟性を高めることもできます。しかし、コンパイラのコンテキストでコードを実行することはできません。 – Jon

+0

私は*参照しているプロジェクト*がコンパイルされるたびに*あなたのアセンブリ*で定義した任意のコードを実行することを意味します。アセンブリを参照するすべてのプロジェクトで、ビルド前に実行されたコードがいくつかあることを確認したいが、各ユーザーに手動でビルドイベントを追加する必要はありません。 –

+0

これは難しい注文です。 VSの拡張領域のように聞こえるし、多くの努力やバイナリをインストールすることなく達成することはできません。 – Jon

答えて

1

多くのツールでは、Custom Build Eventsを使用して、ビルドプロセスの更新と操作を処理します。これは、独自のロジックをビルドプロセスに組み込むために使用できるかなり単純な手法です。

これはあなたのコードを見ませんが、リフレクションを使用してアセンブリのポストビルドを分析し、ロジックを実行するプログラムを書くことができます。

関連する問題