Is my build script working correctly with multiple target structures?

I wrote a little MSBuild script to create my project on several versions. When I run it from VS2012 Command Prompt, it works, I do not get any errors or exceptions. However, when I compare the assemblies produced, they are identical. Is there something wrong in my script?

<Target Name="Build">

  <MSBuild Projects=".\WcfClientBase\WcfClientBase.csproj" 
           Properties="Configuration=Release;OutputPath=.\BuildArtifacts\net45;TargetFrameworkVersion=v4.5" />

  <MSBuild Projects=".\WcfClientBase\WcfClientBase.csproj"
           Properties="Configuration=Release;OutputPath=.\BuildArtifacts\net40;TargetFrameworkVersion=v4.0" />

  <MSBuild Projects=".\WcfClientBase\WcfClientBase.csproj"
           Properties="Configuration=Release;OutputPath=.\BuildArtifacts\net35;TargetFrameworkVersion=v3.5" />

</Target>

I have VS2012 Professional installed. I also noticed that .NET 4.5 does not have its own MSBuild.exe. Does he use version 4.0?

Update

Visual Studio , . - script. TargetFrameworkVersion, . , , . ?

+5
1

IntermediateOutputPath, 3 obj\Release. :

<Target Name="Build"> 
     <MSBuild Projects="WcfClientBase\WcfClientBase.csproj"  
         Properties="Configuration=Release;OutputPath=BuildArtifacts\net45\;IntermediateOutputPath=obj\Release\net45\;TargetFrameworkVersion=v4.5" /> 
     <MSBuild Projects="WcfClientBase\WcfClientBase.csproj"  
         Properties="Configuration=Release;OutputPath=BuildArtifacts\net40\;IntermediateOutputPath=obj\Release\net40\;TargetFrameworkVersion=v4.0" /> 
     <MSBuild Projects="WcfClientBase\WcfClientBase.csproj"  
         Properties="Configuration=Release;OutputPath=BuildArtifacts\net35\;IntermediateOutputPath=obj\Release\net35\;TargetFrameworkVersion=v3.5" /> 
 </Target> 
+4

All Articles