MSBuildカスタムタスクを作成して、コンパイルする前にC#コードを変更します。

StackOverflow https://stackoverflow.com/questions/153602

質問

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

これを機能させるにはどうすればよいですか?

ありがとう リチャード

役に立ちましたか?

解決

制限があれば、次のことができると思います:

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

ステップ4では、最終的にコンパイルされるファイルがカスタムタスクによって変更されたファイルであることを確認します。

ITaskItem ジョブのインターフェース。

scroll top