Est-ce que nAnt est toujours supporté et compatible avec .net 3.5 / VS2008?

J'utilise MSBuild pour construire mes trucs. Je veux utiliser CruiseControl.net comme serveur de construction.

Maintenant, CCNET se réfère beaucoup à nAnt, mais il semble que ccnet puisse faire la plupart des choses que nant pourrait faire à travers la configuration du projet et msbuild. En outre, nAnt semble un peu non supporté, avec une version bêta qui a presque un an maintenant.

En bref: je suis plutôt satisfait de MSBuild (surtout parce que c'est le frontal 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 trucs liés à la construction automatisée)

0

6 Réponses

Honnêtement, cela dépend de ce qui correspond le mieux à votre environnement. Si vous utilisez beaucoup d'outils non-Microsoft, nunit, ccnet, ncover. Vous trouverez probablement un meilleur support avec nant. Sinon, si vous utilisez MSTest, TFSBuild, vous trouverez probablement MSBuild un meilleur environnement. J'apprendrais les deux et j'utiliserais ce qui convient le mieux à votre environnement.

0
ajouté

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

Je ne peux pas répondre à la partie «encore soutenue» de vos questions, mais je dirais que si vous êtes déjà à l'aise avec nAnt alors c'est probablement viable. Si vous (ou quelqu'un de votre groupe) êtes familier avec MSBuild, alors c'est une bonne façon de procéder.

0
ajouté

Si vous êtes plutôt satisfait de MSBuild, alors 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 là tous les deux pendant un bon moment.

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

Fait intéressant, Jeremy Miller a posé la question exactement opposée sur son blog l'année dernière.

0
ajouté

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 que nAnt puisse faire quoi que ce soit que MSBuild ne puisse pas en 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.

Les MSBuildCommunityTasks sont une bonne base de tâches tierce pour commencer, et couvre la plupart des choses personnalisées que j'ai jamais fait dans nAnt, y compris le soutien VSS et Subversion.

0
ajouté

Je trouve que vous pouvez aussi utiliser une approche hybride, surtout 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 majeures et peuvent s'appeler si vous trouvez une tâche prise en charge de manière native dans l'un mais pas dans l'autre.

Pour le nouveau développement .NET, démarrer avec MSBuild peut vous faire gagner beaucoup de temps car il peut exécuter les fichiers de la solution directement. S'étendre de la compilation principale pour effectuer d'autres tâches (contrôle de la source, déploiement, etc.) fonctionne plutôt bien.

0
ajouté

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

NAnt est un langage de script de build plus ancien et plus mature, mais ils sont tous deux similaires dans leur fonctionnement. Il y a très peu de choses que je pourrais faire dans NAnt que je ne peux pas faire dans MSBuild, donc ça dépend de laquelle vous êtes le plus à l'aise. En ce qui concerne l'activité de NAnt, ne passez pas à côté lorsque la dernière version était ... au lieu de cela, passez à la dernière version nocturne. NAnt a tendance à passer beaucoup de temps entre les sorties, mais les builds nocturnes sont généralement plutôt stables.

0
ajouté