其背后的原因是 .NET 3.0 到来时无需更新 MSBuild.exe。在这种情况下,重用 .NET 2 MSBuild 是明智的。
MSBuild.exe 3.5 引入了许多关键更新,
http://blogs.msdn.com/b/msbuild/archive/2007/11/22/msbuild-3-5-orcas-has-now-shipped.aspx
,但主要特点是:
-- 多处理器支持 -- 当前仅命令行,只需使用 /m 开关构建您的解决方案。包括针对多进程构建优化的新改进控制台记录器
-- 多目标支持 -- 如果您愿意,可以使用 MSBuild 3.5 构建面向 .NET 2.0 的项目;在树或解决方案中混合目标
——性能改进。您应该会看到完整构建的改进,尤其是增量构建。我们已经看到一些更大的增量构建方案的速度翻了一番。在 Vista 上,由于 SuperFetch,我们看到了更大的改进。这一切都没有启用多进程!
还有几个小功能
-- ItemDefinitionGroups -- 项目的“类型”。
-- 目标内部的 PropertyGroup/ItemGroup 就像外部一样 -- 不再有不可读的 CreateItem/CreateProperty
-- 能够在构建过程中从列表中删除项目并修改项目元数据 -- 不再“晃动”到另一个列表中
因此,我们看到 .NET 3.5 附带了一个新的 MSBuild。这也适用于 .NET 4 和 .NET 4.5,其中 MSBuild 收到了进一步的更新,
http://msdn.microsoft.com/en-us/library/ee240939(v=vs.100).aspx
http://msdn.microsoft.com/en-us/library/hh162058.aspx