2009-06-10 11 views
12

J'ai utilisé NAnt pendant un moment, mais il semble être trop complexe pour ce dont j'ai besoin. Je me demandais s'il y avait des alternatives pour construire des projets C#?NAnt Alternatives

Répondre

4

Je dirais qu'une fois que vous avez commencé à NAnt, ce n'est pas si complexe. Il me manquait un peu un bon tutoriel «commençons-moi» et tout ce que je lisais me semblait assez daté. Une bonne chose est que vous pouvez utiliser MSBuild pour construire l'application (c'est ce que j'utilise) et faire le reste avec NAnt. Au moins, je pense que ce n'est pas plus difficile que MSBuild - et pour les choses MSBuild est plus facile, vous êtes libre d'utiliser MSBuild pour cela.

C'est ce que je suis en utilisant:

<exec program="msbuild.exe" 
     basedir="C:\windows\microsoft.net\Framework\v3.5\" 
     commandline="Project.csproj /p:OutDir=..\Outdir\; configuration=Release" /> 
1

Il existe MSBuild, mais ce n'est pas plus simple que Nant.

Les deux sont bien une fois que vous vous habituez à la syntaxe.

Une option plus simple consiste à utiliser des fichiers batch.

Un autre est d'utiliser CIFactory, qui fournit un moyen rapide d'obtenir un build et un serveur d'intégration continue opérationnel.

2

Vous pouvez essayer FinalBuilder - c'est très facile à utiliser, même si je préfère rester avec NAnt. Et vous avez toujours MSBuild ...

+0

J'aime beaucoup ces outils, comme [Visual Build] (http://www.kinook.com/VisBuildPro/) mais ils sont commerciaux et nécessitent beaucoup d'installation des fichiers sur votre système. Ne pensez même pas à les exécuter sur un autre système d'exploitation. – Wernight

-2

Maven est un excellent outil de construction, il a été développé principalement pour la communauté Java, mais il y a maintenant un .NET plugin pour la construction de projets C#. Il y a de grandes différences conceptuelles entre Maven (see wikipedia pour un bref aperçu) et NAnt donc vous voudrez peut-être lire sur ce premier si vous voulez l'essayer.

2 caractéristiques intéressantes:

  • collection mature de plugins pour faire des tâches courantes telles que les tests, la production de doc, déploiement, etc.
  • peut obtenir automatiquement les dépendances de projet pour vous d'une central repository
4

Il existe maintenant d'excellentes alternatives à NAnt et MSBuild.

nRake (ou juste Rake)

http://jamescrisp.org/2010/03/20/nrake-rake-builds-for-net/

psake - construire outil d'automatisation écrit dans PowerShell

http://jameskovacs.com/2008/06/27/introducing-psake/

J'ai personnellement utilisé NAnt et MSBuild et suis anxieusement en attente de notre prochain passage à l'un de ceux-ci (nous n'avons pas encore décidé lequel). NAnt et MSBuild ne sont pas difficile à démarrer, mais une fois que les scripts de build deviennent plus gros et plus compliqués et que vous devez les déboguer, ils deviennent un énorme fardeau à gérer. Cela dépend vraiment de combien vous automatisez.

+0

Je sais que c'est un ancien article, mais avez-vous déjà choisi un nouveau processus de construction? –

+1

@MrAH, Maintenant, je recommande fortement soit Grunt ou Gulp. Personnellement, je préfère Grunt mais Gulp a eu beaucoup plus de conversions/attention récemment. –

-1

Phantom est une alternative très soignée pour C#.J'aimerais qu'il soit en python (plus portable) et plus utilisé car la syntaxe est très soignée et puissante.

0

Nous regardons dans Cake - le plus grand avantage est que c'est fondamentalement C#.
Avec le processus complexe que nous avons aujourd'hui, il est assez difficile de maintenir nos scripts NAnt utilisés pour la construction, l'emballage et le code de l'étiquette ainsi que des tests unitaires Runnig, couverture de code, analyse statique etc ..
Voir aussi Why should you use a general purpose scripting language for your build scripts?
Comme la plupart des notre code est C# nous utilisons plutôt C# ...