2008-09-30 59 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