その背後にある理由は、.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 をターゲットとするプロジェクトをビルドします。ツリーまたはソリューション内でターゲットを混合する
-- パフォーマンスの改善。フル ビルドで改善が見られるはずですが、特にインクリメンタル ビルドで改善が見られます。一部の大規模なインクリメンタル ビルド シナリオでは、速度が 2 倍になっています。Vista では、SuperFetch により、さらに大きな改善が見られます。これは、マルチプロセスを有効にすることさえしなくてもすべてです!
さらにいくつかのマイナーな機能
-- ItemDefinitionGroups -- アイテムの「タイプ」。
-- 外部と同様に、ターゲット内の PropertyGroup/ItemGroup -- 判読不能な CreateItem/CreateProperty はもうありません
-- リストからアイテムを削除し、ビルド中にアイテムのメタデータを変更する機能 -- もう別のリストに「スロッシング」する必要はありません
したがって、.NET 3.5 には新しい MSBuild が同梱されています。これは、MSBuild がさらに更新された .NET 4 および .NET 4.5 にも適用されます。
http://msdn.microsoft.com/en-us/library/ee240939(v=vs.100).aspx
http://msdn.microsoft.com/en-us/library/hh162058.aspx