8

csc.exe によってコンパイルされる前に .cs ファイルを変更するカスタム MSBuild タスクを作成したいと考えています (ただし、もちろん、その場で変更するわけではありません。実際のソース ファイルには触れたくありません)。PostSharp およびその他の .NET 用 AOP フレームワークを認識していますが、これらはこの特定のプロジェクトのオプションではありません。さらに、これを行う方法を学びたいと思っています。

これを機能させるには、正確に何をしなければなりませんか?

ありがとうリチャード

4

1 に答える 1

6

あなたの制限を考えると、次のことができると思います:

  1. コンパイル前に適応する cs ファイルのリストを受け入れるカスタム タスクを作成する
  2. カスタム タスクは、受信したファイルのリストを適応させ、ディスク上に作成します。
  3. カスタム タスクは、変更されたファイルのリストを出力パラメーターに設定します。
  4. タスクの出力は、元の cs ファイル リストを置き換えます。
  5. コンパイルは、変更されたファイルに対して行われます。

ステップ 4 により、最終的にコンパイルされるファイルは、カスタム タスクによって変更されたものになります。

このジョブでは、 ITaskItemインターフェイスに大きく依存します。

于 2008-09-30T15:46:41.107 に答える