I am using the msbuild task like so:
<msbuild project="blah.csproj">
<property name="Configuration" value="Debug" if="${debug}" />
<property name="Configuration" value="Release" if="${ship}" />
<property name="Platform" value="${project.platform}" />
<property name="Target" value="Build" />
</msbuild>
I have noticed that the Configuration property is always set to 'Release' in my case because of its order. The if statement seems to be ignored. If I switch the order of the Configuration properties around to have Debug second, then the Configuration property is set to debug.