Voici l'une des manières probablement multiples de faire ceci; ne fonctionnera que si le ItemGroup ClCompile contient des éléments, en d'autres termes, s'il existe des fichiers à compiler, et s'ils ont tous la même valeur pour PreprocessorDefinitions; il stocke le numéro trouvé après la chaîne ENABLE_DEBUGGING=
dans la propriété DebugVal .:
<Target Name="CheckValue" BeforeTargets="BuildGenerateSources">
<PropertyGroup>
<PreProc>%(ClCompile.PreprocessorDefinitions)</PreProc>
<DebugVal>$([System.Text.RegularExpressions.Regex]::Match($(PreProc), 'ENABLE_DEBUGGING=(\d)').Groups[ 1 ].Value)</DebugVal>
</PropertyGroup>
<Message Text="ENABLE_DEBUGGING = $(DebugVal)" />
</Target>
Inspiration de here et here