Я очень новичок в MSBuild, и мне трудно понять, как создать запись PropertyGroup из условных частей.
Вот что у меня есть, что не работает:
<ItemGroup>
<CompilerDirective Include="DEBUG_PARANOID" Condition=" '$(SomeFlag)' == 'true' "/>
<CompilerDirective Include="DEBUG"/>
<CompilerDirective Include="TRACE"/>
</ItemGroup>
<PropertyGroup>
...
<DefineConstants>@(CompilerDirective)</DefineConstants>
...
</PropertyGroup>
Мне бы хотелось, чтобы определяемые константы отображались как DEBUG_PARANOID; DEBUG; TRACE, если для SomeFlag установлено значение true, а в противном случае - для DEBUG_PARANOID. Кстати, для .csproj.
Если я распечатываю @ (CompilerDirective) с задачей сообщения, это работает.
У меня вопрос, как заставить это работать внутри записи PropertyGroup?