вполне можно указать фреймворк в параметрах билда:
%windir%\Microsoft.NET\Framework\v4.0.30319\msbuild.exe "c:\dev\MySolution.sln" /p:Configuration=RELEASE /p:TargetFrameworkVersion=v3.5
в проекте можно вотнуть пару условий на версию фреймворка:
<PropertyGroup Condition=" '$(TargetFrameworkVersion)' == 'v3.5' ">
<DefineConstants>$(DefineConstants);NET35</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(TargetFrameworkVersion)' == 'v4.5' ">
<DefineConstants>$(DefineConstants);NET45</DefineConstants>
</PropertyGroup>
А потом в коде можно жарить предпроцессором:
#if NET45
const int MagicNumber = 42;
#elseif NET35
const int MagicNumber = -1;
#endif