Я просто считаю, что NAnt проще в использовании. Я осмелюсь сказать, что это отчасти связано с моим прошлым в Ant, но я обнаружил, что создание файла NAnt для буферов протокола было на намного проще, чем создание файла MSBuild для MiscUtil. (Даже сейчас в сборку MiscUtil есть вещи, которые я хотел бы включить, но не могу - кажется невероятно сложно сбросить вывод задачи в текстовый файл, IIRC.) Концепции проще, и, похоже, меньше ошибок при оценке коллекций файлов и т. д.
В настоящее время мне нравится использовать установку, которая раньше мне показалась действительно глупой - я использую NAnt для своего "основного" файла сборки, но вызываю MSBuild для выполнения действительного шага "скомпилировать мой проект .NET". Идея иметь две системы сборки для одного и того же проекта отвратительна, но я в основном не рассматриваю часть MSBuild как систему полной сборки - это просто простой способ компиляции, и мне никогда не нужно вручную проверять файл проекта. (Я взаимодействую с ним только через Visual Studio.) Мне удалось очень легко развить мою сборку протокольных буферов, и я сомневаюсь, что у меня был бы такой же опыт, если бы я использовал MSBuild.
Скоро я попытаюсь собрать все это с помощью Mono (когда выйдет 2.4 - до тех пор пока в gmcs есть showtoppers), и в этот момент мы увидим, насколько переносима стратегия ...