Jedną z głównych zalet MSBuild (na platformach Windows) jest to, że jest częścią samego .NET. Oznacza to, że na każdym komputerze z systemem Windows zaktualizowanym za pomocą usługi Windows Update będzie dostępny program MSBuild. Dodaj do tego fakt, że kompilator C # jest również częścią samego .NET i masz platformę, która może budować projekty na czystych maszynach. Nie ma potrzeby instalowania behemota Visual Studio. Z drugiej strony NAnt musi być jawnie zainstalowany przed uruchomieniem kompilacji.
Dla przypomnienia, w przeszłości używałem NMake, Make, Ant, Rake, NAnt i MSBuild na nietrywialnych kompilacjach (w tej kolejności). Moim ulubionym jest MSBuild, bez dwóch zdań (i nie faworyzuję go, ponieważ „tego używa Visual Studio”). IMHO, jest to bardzo niedoceniane narzędzie do budowania.
Porównałbym NAnt i MSBuild do różnicy między programowaniem proceduralnym i funkcjonalnym. NAnt jest dość prosty i dostajesz to, co widzisz. Z drugiej strony MSBuild wymaga nieco więcej przemyśleń. Krzywa uczenia się jest bardziej stroma. Ale kiedy już to zrozumiesz, możesz z nim zrobić niesamowite rzeczy.
Dlatego polecałbym przyjrzeć się MSBuild, jeśli również skłaniasz się ku programowaniu w stylu funkcjonalnym lub logicznym - jeśli chcesz zainwestować trochę czasu i wysiłku, zanim zobaczysz namacalne rezultaty (oczywiście, jestem również głęboko przekonany, że inwestycja w końcu się opłaca, a ty może wydajniej robić potężniejsze rzeczy).