NAnt est-il toujours pris en charge et adapté à .net 3.5 / VS2008?

Translate

J'utilise MSBuild pour créer mes trucs. Je veux 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. En outre, nAnt semble un peu non pris en charge, avec une version bêta qui a presque un an maintenant.

Bref: je suis en fait assez content de MSBuild (d'autant plus que c'est le front-end du compilateur "officiel") 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 se chevaucher un peu avec nant en termes de fonctionnalités (et en ajoutant les éléments liés à la construction automatisée)

This question and all comments follow the "Attribution Required."

Toutes les réponses

Translate

Si vous êtes assez satisfait de MSBuild, je m'en tiendrai à MSBuild. Cela peut être l'un de ces cas où l'outil que vous apprenez en premier est celui que vous préférez. 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 parcette conversation entre des fans de NAnt et un Microsoftie.

De façon intéressante,Jeremy Millera posé la question exactement opposéesur son blogl'année dernière.

La source
Translate

À mon avis, c'est plus 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, alors c'est probablement viable. Si vous (ou un membre de votre groupe) connaissez MSBuild, c'est également une bonne solution.

La source
Translate

Si vous avez déjà un tas de tâches personnalisées que vous utilisez avec nAnt, respectez-le - vous ne gagnez pas grand-chose avec MSBuild. Cela dit, il ne semble pas y avoir quoi que ce soit que nAnt puisse faire que MSBuild ne puisse pas faire. Les deux peuvent appeler des outils externes, les deux peuvent exécuter des tâches personnalisées basées sur .Net et les deux ont un tas de tâches communautaires.

Nous utilisons MSBuild ici pour la même raison que vous: c'est le système de construction par défaut pour VS maintenant, et nous n'avions aucun problème spécifique à nAnt.

leMSBuildCommunityTâchessont une bonne base de tâches tierces pour commencer, et couvre la plupart des choses personnalisées que j'ai jamais faites dans nAnt, y compris le support VSS et Subversion.

La source
Translate

Honnêtement, cela dépend de ce qui convient 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 ce qui correspond le mieux à votre environnement.

La source
Translate

CC.NET est simplement la technologie de serveur de build, pas la technologie de script de build. Nous utilisons CC.NET au travail pour appeler avec succès les scripts de construction MSBuild sans aucun problème.

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

La source
Dean Lee
Translate

Comme ce que tant de gens ont déjà indiqué, la réponse ici est "ça dépend". Il y a des choses commerépétition des opérationsqui sont beaucoup plus simples et plus propres dans NAnt. Voirles forums MSDNpour une discussion à ce sujet.

La source
Translate

Je trouve que vous pouvez également utiliser une approche hybride, en particulier dans les grands projets. Beaucoup 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 qui est prise en charge de manière native dans l'une mais pas dans l'autre.

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

La source