创建自定义的MSBuild任务之前修改C#代码*编译(Create MSBuild custom t

2019-08-17 12:48发布

我想创建一个自定义的MSBuild任务是改变了我的.cs文件,它们被编译CSC.EXE之前(但是,当然,这并不改变他们在的地方 - 我不想实际的源文件的感动)。 我知道PostSharp和.NET等AOP框架,他们是不是为这个特殊项目的选择,再加上我想了解如何做到这一点。

什么正是我必须做的就是这个工作?

感谢理查德

Answer 1:

鉴于你的限制,我想你可以做到以下几点:

  1. 创建一个接受的CS文件的列表在编译之前,以适应自定义任务
  2. 自定义任务相适应接收的文件列表,并创建它们在磁盘上
  3. 自定义任务设置的输出参数的修改过的文件列表
  4. 任务的输出将代替原来的CS文件列表
  5. 编译是针对已更改的文件来完成。

步骤4确保了最终被编译的文件是由您的自定义任务改变的人。

您将在很大程度上依赖上ITaskItem接口作业。



文章来源: Create MSBuild custom task to modify C# code *before* compile