2009-06-10 10 views
12

He estado usando NAnt por un tiempo, pero parece ser demasiado complejo para lo que necesito. Me preguntaba si hay alguna alternativa para la construcción de proyectos de C#.NAnt Alternativas

Respuesta

4

Yo diría que una vez que se inicia en NAnt no es TAN complejo. Me faltaba un poco el buen tutorial "vamos a empezar" y todo lo que leí parecía bastante anticuado. Una cosa buena es que puedes usar MSBuild para compilar la aplicación (eso es lo que estoy usando) y hacer el resto con NAnt.

Al menos creo que no es más difícil que MSBuild, y para cosas MSBuild es más fácil puedes usar MSBuild para eso.

Esto es lo que estoy utilizando:

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

Hay MSBuild, pero no es más simple que Nant.

Ambos están bien una vez que te acostumbras a la sintaxis.

Una opción más simple es usar archivos por lotes.

Otra es usar CIFactory, que proporciona una forma rápida de poner en marcha un servidor de compilación y de integración continua.

2

Puede probar FinalBuilder - es muy fácil de usar, aunque prefiero seguir con NAnt. Y siempre tiene MSBuild ...

+0

Me gustan esas herramientas, como [Visual Build] (http://www.kinook.com/VisBuildPro/) también, pero son comerciales y requieren la instalación de un lote de archivos en su sistema. Ni siquiera pienses en ejecutarlos en otro sistema operativo. – Wernight

-2

Maven es una gran herramienta de construcción, que fue desarrollado principalmente para la comunidad Java, pero ahora es un .NET plugin para la construcción de proyectos de C#. Hay diferencias conceptuales bastante grandes entre Maven (see wikipedia para una breve descripción) y NAnt, por lo que es posible que desee leerlo primero si quiere probarlo.

2 características interesantes:

  • colección madura de plugins para hacer tareas comunes tales como pruebas, la generación doc, etc. despliegue
  • se puede obtener automáticamente las dependencias del proyecto para usted desde un central repository
4

Hay algunas excelentes alternativas ahora para NAnt y MSBuild.

nRake (o simplemente Rake)

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

psake - construir herramienta de automatización escrito en PowerShell

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

, he utilizado Nant y MSBuild y Estoy ansiosamente esperando nuestro próximo cambio a uno de estos (aún no hemos decidido cuál). NAnt y MSBuild no son con los que comienzan, pero una vez que los scripts de construcción comienzan a hacerse más grandes y complicados, y necesita depurarlos, se convierten en una carga enorme de manejar. Realmente depende de cuánto automatizas.

+0

Sé que esta es una publicación anterior, pero ¿alguna vez eligió un nuevo proceso de compilación? –

+1

@MrAH, ahora recomendaría mucho Grunt o Gulp. Personalmente prefiero a Grunt, pero Gulp ha estado recibiendo muchas más conversiones/atención recientemente. –

-1

Phantom es una alternativa muy buena para C#.Desearía que estuviera en python (más portable) y más usado porque la sintaxis es muy clara y poderosa.

0

Estamos buscando en Cake - la mayor ventaja es que básicamente es C#.
Con el proceso complejo que tenemos hoy es muy difícil de mantener nuestros scripts NAnt utilizados en la construcción, envase y etiqueta de código, así como las pruebas unitarias runnig, cobertura de código, análisis estático, etc ..
Véase también Why should you use a general purpose scripting language for your build scripts?
Dado que la mayoría de nuestro código es C# preferimos usar C# ...