あなたの例はVS2010でうまくいくようです。
これが私が試したことです:
<PropertyGroup>
<DefineConstants Condition=" $(TargetFrameworkVersion.Replace('v', '')) >= 3.5 ">$(DefineConstants);TEST1</DefineConstants>
<DefineConstants Condition=" $(TargetFrameworkVersion.SubString(1,3)) >= 3.5 ">$(DefineConstants);TEST2</DefineConstants>
<DefineConstants Condition=" $(TargetFrameworkVersion.SubString(1,3)) >= 4.0 ">$(DefineConstants);TEST3</DefineConstants>
<DefineConstants Condition=" $(TargetFrameworkVersion.SubString(1,3)) >= 4.5 ">$(DefineConstants);TEST4</DefineConstants>
</PropertyGroup>
編集:
しかし、VS2008を使用しているので、を使用して、このようなことを行うことができます
<Choose>
<When Condition=" $(TargetFrameworkVersion) == 'v3.5' ">
<PropertyGroup>
<DefineConstants >$(DefineConstants);TEST1</DefineConstants>
</PropertyGroup>
</When>
</Choose>