28 votes

Dois-je passer de nant à msbuild?

J'utilise actuellement nant, ccnet (régulateur de vitesse), svn, mbunit. J'utilise msbuild pour faire ma compilation sln simplement parce que c'était plus simple à décortiquer.

Y a-t-il des avantages à passer tout mon script de build à MSBuild? J'ai besoin de pouvoir exécuter des tests, des tests de style watir, xcopy deploy. Est-ce plus simple?

Mise à jour: des fonctionnalités intéressantes qui me feraient passer de nant à msbuild?

31voto

Lance Fisher Points 13547

J'aime MSBuild. Une des raisons est que .csproj fichiers sont msbuild fichiers, et la construction de VS est juste comme la construction de la ligne de commande. Une autre raison est le bon support de TeamCity qui est le serveur CI j'ai été en utilisant. Si vous commencez à utiliser MSBuild, et vous voulez faire plus personnalisé des choses dans votre processus de création, d'obtenir la MSBuild missions de la Communauté. Ils vous donnent un tas de nice tâches supplémentaires. Je n'ai pas utilisé de NAnt depuis plusieurs années maintenant, et je n'ai pas regretté.

Aussi, comme Ruben mentionne, il y a de la DDC Tâches tâches sur CodePlex.

Pour encore plus de plaisir, il y a le MSBuild Pack d'Extension sur CodePlex, qui comprend un twitter tâche.

26voto

Jim Points 1896

Mon conseil est tout le contraire - Évitez MSBuild comme la peste. NANT est beaucoup plus facile à configurer votre build pour effectuer des tests automatiques, déployer sur plusieurs environnements de production, intégrer avec cruisecontrol pour un environnement d'entrée, intégrer avec le contrôle de source. Nous avons eu tellement de mal avec TFS / MSBuild (en utilisant TFSDeployer, des scripts PowerShell personnalisés, etc.) pour le faire faire ce que nous avons pu faire avec NANT. Ne perdez pas votre temps.

12voto

Adam Points 8165

La raison la plus convaincante d'utiliser MSBuild (au moins dans .NET 3.5 et au-delà) - le moteur de génération peut générer simultanément.

Cela signifie une vitesse énorme dans vos builds, car vous avez plusieurs cœurs / processeurs.

Avant la version 3.5, MSBuild ne faisait pas de builds parallèles.

9voto

Brad Leach Points 9012

J'ai l'impression que MSBuild et Nant sont assez comparables. Si vous utilisez l'un de ces, en général, je ne voudrais pas passer entre eux, à moins qu'il existe incontestablement une fonctionnalité qui manquait dans le produit que vous aviez sélectionné.

Personnellement, j'utilise MSBuild pour tout nouveau projet, mais votre kilométrage peut varier.

Espérons que ça aide!

Edit: @ChanChan - @Jon mentionne que Nant de ne pas construire .NET 3.5 applications. Cela peut être une raison suffisante pour changer, ou au moins de les utiliser en parallèle. Comme je l'ai déplacé plus vers MSBuild, je ne suis probablement pas le plus éclairé de la personne pour mettre en surbrillance toutes les autres vedettes de la carte avec les deux technologies.

Edit: Il semble Nant maintenant construit .NET 3.5 Applications.

3voto

David Keaveny Points 957

NAnt a été autour de plus de temps, et est nettement plus de produits matures, et aussi de l'OMI, plus facile à utiliser. Il y a beaucoup de communautés du savoir-faire pour les exploiter, et il est aussi multi-plateforme, si vous êtes intéressé par la création d'applications qui peuvent s'exécuter en vertu de la Mono ainsi que .NET et Silverlight. Hors de la boîte, il fait un ensemble beaucoup plus que MSBuild est. Oh oui, et vous pouvez les appeler MSBuild à partir de NAnt (OK, à partir de NAntContrib) :-)

Sur le côté négatif, NAnt et sa sœur projet NAntContrib ne semblent avoir stagné, avec la plus récente mise à jour en cours de la fin de 2007.

Les principaux avantages que je vois de MSBuild est qu'il est livré avec la .NET Framework, il est donc moins un produit à installer; et il n'est plus actif en cours de développement (bien que dans les lieux de rattraper les anciens NAnt).

Personnellement, je trouve sa syntaxe est un peu plus difficile à ramasser, mais alors je suis sûr que la suite d'une exposition à ti rendrait les choses plus faciles.

Conclusion? Si vous avez des scripts NAnt, rester avec eux, ça ne vaut pas les tracas de portage. Si vous êtes le démarrage d'un nouveau projet, et vous vous sentez aventureux, puis donner MSBuild un aller.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X