Я хочу запустить ту же задачу для нескольких проектов из одного файла сборки, не копируя задачу в каждый файл проекта.MSBuild Как передать одну и ту же задачу нескольким проектам
Я получаю все файлы проекта в моем решении и:
<ItemGroup>
<ProjectsToBuild Include="..\Modules\**\*csproj"/>
</ItemGroup>
Я тогда называть задачу MSBuild по каждому ProjectToBuild
<MSBuild Projects ="@(ProjectsToBuild)"
Targets="DoStuff"
ContinueOnError ="false"
Properties="Configuration=$(Configuration)">
<Output ItemName="OutputFiles" TaskParameter="TargetOutputs"/>
</MSBuild>
Это не работает, так как цель должна существовать в проекте, который вы строите.
Из MSDN
Мишени должны происходить во всех файлах проекта. Если они этого не делают, возникает ошибка сборки.
Есть ли способ передать задачу DoStuff для проектов, передаваемых в задачу MSBuild?