Question

J'utilise MSBuild pour créer mes contenus.Je souhaite utiliser CruiseControl.net comme par Build Server.

Maintenant, CCNET fait beaucoup référence à nAnt, mais il semble que ccnet puisse faire la plupart des choses que nant pourrait faire via la configuration du projet et msbuild.De plus, nAnt ne semble pas pris en charge, avec une version bêta vieille de presque un an maintenant.

En bref:Je suis en fait assez satisfait de MSBuild (d'autant plus qu'il s'agit du frontal "officiel" du compilateur) et un peu mal à l'aise avec nAnt, mais je ne veux pas juger prématurément.

Quelles seraient les raisons d’utiliser nAnt sur MSBuild ?Surtout avec ccnet, qui semble chevaucher un peu Nant en termes de fonctionnalités (et en ajoutant des éléments liés à la construction automatisée)

Était-ce utile?

La solution

Si vous êtes assez satisfait de MSBuild, je m'en tiendrai à MSBuild.C’est peut-être l’un de ces cas où l’outil que vous apprenez en premier est celui que vous préférerez.J'ai commencé avec NAnt et je n'arrive pas à m'habituer à MSBuild.Je suis sûr qu'ils seront tous les deux là pendant un certain temps.

Il existe des différences fondamentales entre les deux, probablement mieux mises en évidence par cette conversation entre des fans de NAnt et un Microsoftie.

De façon intéressante, Jérémy Miller posé la question exactement inverse sur son blog l'année dernière.

Autres conseils

À mon avis, c'est plutôt une question de préférence personnelle.nAnt est un excellent framework et MSBuild est presque aussi performant.Avec la possibilité de développer facilement des tâches personnalisées (dans les deux frameworks), vous pouvez accomplir presque tout ce que vous devez faire.

Je ne peux pas répondre à la partie "toujours pris en charge" de vos questions, mais je dirais que si vous êtes déjà à l'aise avec nAnt, c'est probablement viable.Si vous (ou quelqu'un de votre groupe) connaissez MSBuild, c'est également une bonne façon de procéder.

Si vous utilisez déjà un certain nombre de tâches personnalisées avec nAnt, respectez-les - vous ne gagnez pas grand-chose avec MSBuild.Cela dit, il ne semble y avoir rien que nAnt puisse faire que MSBuild ne puisse pas faire à la base.Les deux peuvent appeler des outils externes, les deux peuvent exécuter des tâches personnalisées basées sur .Net et les deux disposent de nombreuses tâches communautaires.

Nous utilisons MSBuild ici pour la même raison que vous : c'est désormais le système de build par défaut pour VS, et nous n'avions pas à nous soucier de choses spécifiques à nAnt.

Le MSBuildCommunityTasks sont une bonne base de tâches tierce pour commencer et couvrent la plupart des tâches personnalisées que j'ai jamais faites dans nAnt, y compris la prise en charge de VSS et Subversion.

Honnêtement, cela dépend de ce qui s'intègre le mieux à votre environnement.Si vous utilisez de nombreux outils non Microsoft, Nunit, ccnet, ncover.Vous trouverez probablement un meilleur support avec nant.Alternativement, si vous utilisez MSTest, TFSBuild, vous trouverez probablement MSBuild un meilleur environnement.J'apprendrais les deux et j'utiliserais celui qui correspond le mieux à votre environnement.

CC.NET est simplement la technologie du serveur de build, et non la technologie des scripts de build.Nous utilisons CC.NET au travail pour appeler avec succès les scripts de build MSBuild sans problème.

NAnt est un langage de script de build plus ancien et plus mature, mais leur fonctionnement est tous deux similaire.Il y a très peu de choses que je pourrais faire dans NAnt que je ne peux pas faire également dans MSBuild, donc cela dépend vraiment de celle avec laquelle vous êtes le plus à l'aise.En ce qui concerne l'activité de NAnt, ne vous fiez pas à la date de la dernière version... mais plutôt à la date de la dernière version nocturne.NAnt a tendance à s'écouler longtemps entre les versions, mais les versions nocturnes sont généralement assez stables.

Comme tant de personnes l’ont déjà indiqué, la réponse ici est « ça dépend ».Il y a des choses comme opérations répétées qui sont beaucoup plus simples et plus propres dans NAnt.Voir les forums MSDN pour une discussion à ce sujet.

Je trouve que vous pouvez également utiliser une approche hybride, en particulier dans les projets plus importants.Un grand nombre de nos scripts nant sont convertis en msbuild lorsque de nouveaux composants sont développés.Les deux prennent en charge les mêmes fonctionnalités principales et peuvent s’appeler si vous trouvez une tâche prise en charge nativement dans l’un mais pas dans l’autre.

Pour un nouveau développement .NET, commencer par MSBuild peut vous faire gagner beaucoup de temps car il peut exécuter directement les fichiers de solution.L'extension à partir de la compilation principale pour effectuer d'autres tâches (contrôle de code source, déploiement, etc.) fonctionne plutôt bien.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top