Microsoft (besser oder schlechter) hat das MsBuild-System erstellt, für das Projektdateien (.csproj, .vbproj usw.) Skripte sind. Diese .proj-Dateien steuern das MsBuild-System über das XML, um das Projekt zu erstellen. Das ist im Grunde genommen das, was auch nAnt tut. Also, im Allgemeinen, entspricht die Funktionalität von MsBuild der Funktionalität von nAnt.
Obwohl ich sicherlich viel mehr Zeit mit MsBuild als mit nAnt verbracht habe und daher keine wirklich experten Meinung habe, von meiner Erfahrung her, wenn Sie Visual Studio verwenden, ist es wahrscheinlich besser, bei MsBuild zu bleiben, um Ihre Projekte zu erstellen, da es höchstwahrscheinlich bereits auf Ihren Entwicklungsprozess abgestimmt ist. Da Sie höchstwahrscheinlich bereits .proj-Dateien verwenden (d.h. .csproj, wenn Sie C# verwenden), macht es für mich keinen Sinn, eine weitere Build-Datei zu erstellen: Verwenden Sie einfach die, die Sie bereits haben, und passen Sie sie nach Bedarf an. Ich bin nicht darüber informiert, dass nAnt zu diesem Zeitpunkt etwas anbietet, das MsBuild nicht kann, außer der Tatsache, dass es besser zum Open Source-Modell passt.
Nochmals, da meine Erfahrung mit nAnt begrenzt ist, kann ich nicht sagen, ob das noch immer zutrifft, aber als ich nAnt das letzte Mal verwendet habe, war es deutlich umfangreicher, um die gleichen Aufgaben zu erledigen im Vergleich zu MsBuild, was, wenn es nach wie vor gültig ist, für mich ein weiterer Grund wäre, statt nAnt lieber MsBuild zu verwenden.
Ihr Bedarf, Binärdateien als Post-Build-Aufgabe abzulegen, ist ein häufiger Bedarf, der mit MsBuild oder nAnt leicht erfüllt werden kann. Aus den genannten Gründen würde ich vorschlagen, zuerst MsBuild zu überprüfen, um zu sehen, wie dies funktionieren würde, und erst dann nAnt in Betracht zu ziehen, wenn MsBuild nicht Ihren Anforderungen entspricht. Ich sage das nur, weil, wie bereits erwähnt, Sie bereits in MsBuild eingetaucht sind (der MsBuild-Engine ist bereits auf Ihrem Computer installiert), warum also nicht den Weg des geringsten Widerstands gehen? Sicherlich, wenn MsBuild nicht das tut, was Sie möchten und nAnt es tut, dann gehen Sie auf diesem Weg. Aber das Kopieren von Dateien wäre etwa 5 Zeilen XML in Ihrer vorhandenen MsBuild-Datei (d.h. .csproj). Hier finden Sie einige Dokumentationen von MSDN: http://msdn.microsoft.com/en-us/library/3e54c37h.aspx
Ein vorheriger Beitrag erwähnte die Verwendung von CruiseControl mit nAnt. Cruise Control kann auch problemlos MsBuild verwenden:
http://ccnetlive.thoughtworks.com/ccnet/doc/CCNET/MsBuild%20Task.html
Wenn Sie also automatisierte (kontinuierliche Integration) Builds möchten, können Sie CC.NET verwenden. MS Team Foundation Server ist eine Alternative zu CC.NET, wenn Sie die Kosten tragen können oder ein Startup sind (über das MS BizSpark-Programm können Sie es glaube ich kostenlos für einige Jahre nutzen).
Ich habe nichts gegen nAnt - es ist nur so, dass es bei dem, was Sie tun möchten, anscheinend nicht erforderlich ist. MsBuild kann es und Sie müssen nichts Neues installieren oder sogar eine Datei erstellen. Sie müssen nur einen etwa 5 Zeilen langen XML-Eintrag in Ihre .proj-Datei einfügen