Eine der Hauptattraktionen von MSBuild für mich (auf Windows-Plattformen) ist, dass es Teil von .NET selbst ist. Das bedeutet, dass auf jedem Windows-Computer, der mit Windows Update auf dem neuesten Stand ist, MSBuild verfügbar ist. Hinzu kommt, dass der C # -Compiler auch Teil von .NET selbst ist und Sie über eine Plattform verfügen, die Projekte auf sauberen Computern erstellen kann. Visual Studio Behemoth muss nicht installiert werden. NAnt muss dagegen explizit installiert werden, bevor ein Build ausgelöst werden kann.
Nur zur Veranschaulichung: Ich habe in der Vergangenheit NMake, Make, Ant, Rake, NAnt und MSBuild für nicht triviale Builds verwendet (in dieser Reihenfolge). Mein Favorit ist zweifellos MSBuild (und ich bevorzuge es nicht, weil "das ist, was Visual Studio verwendet"). IMHO ist es ein sehr unterschätztes Build-Tool.
Ich würde NAnt vs. MSBuild mit dem Unterschied zwischen prozeduraler und funktionaler Programmierung vergleichen. NAnt ist ganz einfach und Sie bekommen, was Sie sehen. MSBuild hingegen erfordert etwas mehr Nachdenken. Die Lernkurve ist steiler. Aber sobald Sie es "verstanden" haben, können Sie einige erstaunliche Dinge damit machen.
Daher würde ich empfehlen, sich MSBuild anzuschauen, wenn Sie sich auch für funktionale oder logische Programmierung interessieren - wenn Sie bereit sind, ein wenig Zeit und Mühe zu investieren, bevor Sie greifbare Ergebnisse sehen (natürlich glaube ich auch fest daran, dass sich die Investition letztendlich auszahlt und Sie kann mächtigere Dinge effizienter machen).