У меня есть что-то подобное в моем TFSBuild.proj
<ItemGroup>
<SolutionToBuild Include="$(BuildProjectFolderPath)/../../ProjectA/ProjectA.sln" />
<SolutionToBuild Include="$(BuildProjectFolderPath)/../../x64 Installer/x64 Installer.sln" Condition="'$(Platform)' == 'x64' " />
<SolutionToBuild Include="$(BuildProjectFolderPath)/../../x86 Installer/x86 Installer.sln" Condition="'$(Platform)' == 'x86' " />
<ConfigurationToBuild Include="Release|x86">
<FlavorToBuild>Release</FlavorToBuild>
<PlatformToBuild>x86</PlatformToBuild>
</ConfigurationToBuild>
<ConfigurationToBuild Include="Release|x64">
<FlavorToBuild>Release</FlavorToBuild>
<PlatformToBuild>x64</PlatformToBuild>
</ConfigurationToBuild>
</ItemGroup>
Я хочу переопределить цель BeforeCompile для запуска пользовательской задачи, которую я написал. Пользовательская задача получит выходные данные из ProjectA и файл сборки, который используется в обоих проектах программы установки (файлы проекта Wix). Как получить цель BeforeCompile для выполнения только для этих двух элементов SolutionToBuild? Я предполагаю, что речь идет о целевом пакетировании (потому что тогда я могу использовать условия для своей задачи, но я не получаю его.
Я попытался добавить что-то подобное, чтобы посмотреть, будет ли это работать, но в журнал выводится только первое решение:
<Target Name="BeforeCompile" Outputs="%(SolutionToBuild.Identity)">
<Message Text="Solution being built: %(SolutionToBuild.Identity)" />
</Target>