C# 如何扩展msbuild以在.cs文件上运行自定义预处理器?

C# 如何扩展msbuild以在.cs文件上运行自定义预处理器?,c#,msbuild,C#,Msbuild,我有一个自定义程序,它预处理一个C#文件并生成一个新的C#文件作为输出。我想在项目中的每个C#文件上从msbuild调用它,然后编译输出文件而不是原始C#文件。我该怎么做呢?我不确定是否有一种简单的方法可以使用默认的msbuild任务来执行它。但是,您可以创建自己的任务来做任何您想做的事情: 您还可以在“”站点搜索合适的任务。如果自定义程序是可执行文件,最简单的方法是使用Exec调用可执行文件: <Exec Command="your executable" /> 不过,我建

我有一个自定义程序,它预处理一个C#文件并生成一个新的C#文件作为输出。我想在项目中的每个C#文件上从msbuild调用它,然后编译输出文件而不是原始C#文件。我该怎么做呢?

我不确定是否有一种简单的方法可以使用默认的msbuild任务来执行它。但是,您可以创建自己的任务来做任何您想做的事情:


您还可以在“”站点搜索合适的任务。

如果自定义程序是可执行文件,最简单的方法是使用Exec调用可执行文件:

<Exec Command="your executable" />


不过,我建议编写一个自定义MSBuild任务。您可以查看以获取有关如何执行此操作的示例。

您可能希望了解如何在Visual Studio中使用“自定义工具”代码生成技术;网上有一篇关于它的文章