I see now (having edited my own initial post to include the task) that it's possible to use different names for the <ProjectsToBuild /> element instead. Somewhat surprising that the scope continues to grow, but I guess I don't fully understand MSBuild.
<Target Name="BuildDLLs"> <ItemGroup> <DLLsToBuild Include="utility.vbp;tools.vbp" /> </ItemGroup> <MSBuild.ExtensionPack.VisualStudio.VB6 TaskAction="Build" Projects="@(DLLsToBuild)" /> </Target> <Target Name="BuildEXEs" DependsOnTargets="BuildDLLs"> <ItemGroup> <EXEsToBuild Include="mainapp.vbp" /> </ItemGroup> <MSBuild.ExtensionPack.VisualStudio.VB6 TaskAction="Build" Projects="@(EXEsToBuild)" /> </Target>