Msbuild 如何创建具有增量生成依赖项的自定义任务?

Msbuild 如何创建具有增量生成依赖项的自定义任务?,msbuild,Msbuild,我有一个构建步骤,可以解析csv文件并生成许多.cs文件,我正在尝试创建一个构建目标,该目标将允许我增量地/仅在源文件发生更改时生成它们 我已经创建了一个目标(在TechTreeGenerator.targets中): %(文件名)%(扩展名) 其中TechTreeGenerator是一个运行该工具的代码任务,并输出从csv文件生成的所有文件的列表(即使这些文件尚未重新生成)。它还始终输出一个“AutoGen.lastbuild”文件,与csv文件进行比较,以确定是否需要重建该文件 但是,目

我有一个构建步骤,可以解析csv文件并生成许多.cs文件,我正在尝试创建一个构建目标,该目标将允许我增量地/仅在源文件发生更改时生成它们

我已经创建了一个目标(在TechTreeGenerator.targets中):


%(文件名)%(扩展名)
其中TechTreeGenerator是一个运行该工具的代码任务,并输出从csv文件生成的所有文件的列表(即使这些文件尚未重新生成)。它还始终输出一个“AutoGen.lastbuild”文件,与csv文件进行比较,以确定是否需要重建该文件

但是,目标输出中的最后构建似乎没有任何影响。删除它不会重建文件

编辑:我忘了在.csproj中添加我引用的项目:

  <Import Project="TechTreeGenerator.targets" />
  <ItemGroup>
    <TechTree Include="..\EcoTechTree.csv" />
  </ItemGroup>

忘记.lastbuild文件。只需将.csv文件作为输入。并将生成的.cs文件作为一个项目组的输出

<Target Name="bla" Inputs="@(CSVFilePath)" Outputs="@(YourCSfiles)">


我不确定我是否理解,你能举个例子吗?我找不到一个好的解决方案,所以我将DisableFastUpdateCheck的项目设置为true,因此它总是运行我的工具并手动执行内部检查。
<Target Name="bla" Inputs="@(CSVFilePath)" Outputs="@(YourCSfiles)">