L'un des principaux attraits de MSBuild pour moi (sur les plates-formes Windows) est qu'il fait partie de .NET lui-même. Cela signifie que toute machine Windows qui est à jour avec Windows Update aura MSBuild disponible. Ajoutez à cela le fait que le compilateur C# fait également partie de .NET lui-même et vous avez une plateforme qui peut construire des projets sur des machines propres. Il n'est pas nécessaire d'installer le béhémoth Visual Studio. NAnt, en revanche, doit être explicitement installé avant qu'une construction puisse être déclenchée.
Pour mémoire, j'ai utilisé NMake, Make, Ant, Rake, NAnt et MSBuild pour des constructions non triviales dans le passé (dans cet ordre). Mon préféré est MSBuild, sans hésiter (et je ne le favorise pas parce que "c'est ce que Visual Studio utilise"). À mon avis, c'est un outil de construction très sous-estimé.
Je comparerais NAnt vs MSBuild à la différence entre la programmation procédurale et fonctionnelle. NAnt est assez simple et vous obtenez ce que vous voyez. MSBuild, par contre, demande un peu plus de réflexion. La courbe d'apprentissage est plus raide. Mais une fois que vous l'avez "compris", vous pouvez faire des choses étonnantes avec lui.
Je recommanderais donc de regarder MSBuild si vous gravitez également vers la programmation fonctionnelle ou logique - si vous êtes prêt à investir un peu de temps et d'effort avant de voir des résultats tangibles (bien sûr, je crois aussi fermement que l'investissement finit par payer et que vous pouvez faire des choses plus puissantes plus efficacement).