2008-09-30 28 views
6

我想創建一個自定義的MSBuild任務是改變了我的.cs文件,它們被編譯CSC.EXE(但是,當然之前,也不會改變他們地方 - 我不希望觸及實際的源文件)。我知道.NET的PostSharp和其他AOP框架,它們不是這個特定項目的選項,另外我想學習如何做到這一點。創建自定義的MSBuild任務之前修改C#代碼*編譯

正是做我必須做的就是這個工作?

感謝 理查德

回答

5

鑑於你的限制,我想你可以做到以下幾點:

  1. 創建一個接受的CS文件列表之前,以適應自定義任務編譯
  2. 自定義任務相適應接收的文件列表,並創建它們在磁盤上
  3. 自定義任務設置的輸出參數的修改過的文件列表
  4. 任務的輸出將代替原來的CS文件列表
  5. 的彙編對修改過的文件進行。

第4步確保最終編譯的文件是由您的自定義任務更改的文件。

您將嚴重依賴ITaskItem接口作業上。

+0

酷,我要去給它一個嘗試 - 感謝豪爾赫 – ZeroBugBounce 2008-09-30 17:45:18