我有一个项目组一个 MSBuild 项目,它代表要复制的文件。复制任务和我编写的另一个自定义任务似乎想要对目标项元数据进行批处理。我不禁想知道这会很慢,我正在努力尽快实现这一点。
因此,批处理意味着如果将一组 100 个项目发送到任务,则不会使用 100 个项目调用该任务一次。相反,它会以较小的项目组多次调用。
这会浪费大量时间,因为任务的 Execute 虚拟功能会被命中数十次,甚至数百次。
如何在 MSBuild 中为任务禁用批处理?还是一个目标?
我有一个项目组一个 MSBuild 项目,它代表要复制的文件。复制任务和我编写的另一个自定义任务似乎想要对目标项元数据进行批处理。我不禁想知道这会很慢,我正在努力尽快实现这一点。
因此,批处理意味着如果将一组 100 个项目发送到任务,则不会使用 100 个项目调用该任务一次。相反,它会以较小的项目组多次调用。
这会浪费大量时间,因为任务的 Execute 虚拟功能会被命中数十次,甚至数百次。
如何在 MSBuild 中为任务禁用批处理?还是一个目标?
如果您有项目列表,则不能真正禁用批处理,但这取决于您要调用的任务/目标。例如,如果您使用复制任务,它取决于目标,如果您想为每个要复制的文件定义一个目标文件夹或特定目标文件。
如果您有自定义任务,则取决于任务的实现,是否可以将输入作为分号分隔的列表或逐项提供。
这里MSBuild 复制整个目录,同时在路径名中使用元数据, 解释了批处理的一些差异。
如果您有更具体的问题示例,请告诉。