我写了一个小 MSBuild 脚本来在多个版本上构建我的项目。当我从 VS2012 命令提示符运行它时,它可以工作,我没有收到任何错误或异常。但是,当我比较生产的组件时,它们是相同的。我的脚本有问题吗?
<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>
我安装了 VS2012 Professional。我还注意到 .NET 4.5 没有自己的 MSBuild.exe。它使用的是 4.0 版中的那个吗?
更新
我使用 Visual Studio 为每个版本构建了它,并且所有程序集都不同。我的脚本有问题。我故意打错了 TargetFrameworkVersion 参数名称,但它仍然构建并产生了相同的输出。也许它无法从项目文件中覆盖该参数,或者我缺少其他参数。还有什么想法吗?