I have a build process that does the following:
Everything's fine and dandy when I do a clean rebuild. When I do an incremental build, and just a few of the original COM DLLs have changed, MSBuild quite correctly only does partial builds of the appropriate targets, for the Outputs that are actually out-of-date with respect to their Inputs.
Is there a way that I can "force" MSBuild, for just one target (step 3 above), to run a Task passing ALL inputs instead of just the out-of-date ones? I don't want to change the code of my custom Task to hard-code the file names, I'd like them to be provided as TaskItems from the MSBuild script, but my custom task must be given ALL of the inputs derived from the original TaskItem group of COM DLLs, not just the ones that were rebuilt with this particular build.
I think I've found a way. I can define a group thus:
<ItemGroup>
<PrelimIL Include="$(IntermediateOutputPath)intermediate\*.il"/>
</ItemGroup>
And then in my "Disassemble" target, have a second task:
<Touch Files="@(PrelimIL)" />