Domanda

Sto usando MSBuild per costruire la mia roba.Voglio usare CruiseControl.net come da Costruire Server.

Ora, CCNET si riferisce nAnt un sacco, ma sembra come se ccnet può fare la maggior parte della roba nant potrebbe fare attraverso la configurazione di progetto e di msbuild.Inoltre, nAnt sembra un po ' supportato, con una versione Beta che è quasi un anno ormai.

In breve:Sono in realtà molto felice con MSBuild (soprattutto perché è "ufficiale" del compilatore front-end) e un po ' a disagio con nAnt, ma non voglio giudicare prematuramente.

Quali sarebbero i motivi per utilizzare nAnt oltre MSBuild?Soprattutto con ccnet, che sembra si sovrappongono un po ' con nant in termini di caratteristiche (e aggiungendo la compilazione automatica cose affini)

È stato utile?

Soluzione

Se siete abbastanza felice con MSBuild, quindi vorrei bastone con MSBuild.Questo può essere uno di quei casi in cui lo strumento si impara prima è quella che si preferisce.Ho iniziato con NAnt e non riesco a ottenere utilizzato per MSBuild.Sono sicuro che sarà in giro per un bel po ' di tempo.

Ci sono alcune differenze fondamentali tra i due, probabilmente meglio evidenziato da questa conversazione tra alcuni NAnt fan e un Microsoftie.

È interessante notare che, Jeremy Miller chiesto l'esatto opposto domanda sul suo blog l'anno scorso.

Altri suggerimenti

A mio parere è più una questione di preferenze personali.nAnt è un quadro grande e MSBuild è quasi come essere in grado.Con la possibilità di sviluppo di attività personalizzate (in entrambi i quadri) si può realizzare quasi tutto quello che è necessario fare.

Io non posso rispondere "ancora supportati" da parte delle vostre domande, ma vorrei dire che se si è già a suo agio con nAnt quindi probabilmente è fattibile.Se voi (o qualcuno nel vostro gruppo) è familiare con MSBuild, allora questo è un ottimo modo per andare oltre.

Se hai già preso un sacco di attività personalizzate da utilizzare con nAnt, bastone con esso - non guadagno molto con MSBuild.Detto questo, non sembra essere nulla di che nan può fare MSBuild non al suo interno.Entrambi possono chiamare gli strumenti esterni, sia in grado di eseguire .Net-based attività personalizzate, ed entrambi hanno un sacco di compiti di comunità là fuori.

Stiamo usando MSBuild qui per lo stesso motivo - è l'impostazione predefinita del sistema di build per il VS ora, e non abbiamo avuto alcun nAnt-specifiche cose di cui preoccuparsi.

Il MSBuildCommunityTasks sono un bene di terzi attività di base, per iniziare, e copre la maggior parte del materiale personalizzato che io abbia mai fatto in nAnt, tra VSS e supporto per Subversion.

Onestamente dipende da quello che si adatta al tuo ambiente migliore.Se si utilizza un sacco di strumenti Non Microsoft, nunit, ccnet, ncover.Probabilmente troverete un migliore supporto con nant.In alternativa, se si utilizza MSTest, TFSBuild, probabilmente troverete MSBuild un ambiente migliore.Vorrei saperne di entrambi e che ogni più si adatta perfettamente con il vostro ambiente.

CC.NET è semplicemente il server di generazione di tecnologia, non uno script di build tecnologia.Usiamo CC.NET di lavoro che molto correttamente chiamata MSBuild la creazione di script senza problemi.

NAnt è un più vecchio e più maturo, costruire linguaggio di scripting, ma entrambe sono simili nel loro modo di lavorare.Ci sono poche cose che ho potuto fare in NAnt che non si può nemmeno fare di MSBuild, quindi si tratta veramente basso per cui uno siete più confortevole con.Per quanto riguarda attivo NAnt è, non vai da quando l'ultima release è stata...invece vai da quando l'ultima nightly build.NAnt tende ad andare un lungo periodo di tempo tra due versioni,, ma le nightly builds sono di solito abbastanza stabile.

Come ciò che molte persone hanno già indicato, qui la risposta è "dipende".Ci sono alcune cose, come ripetere le operazioni che sono molto più semplice e pulita in NAnt.Vedere il forum di MSDN per una discussione su questo.

Trovo che si può anche utilizzare un approccio ibrido, in particolare in progetti di grandi dimensioni.Un sacco di nostri nant script sono convertiti in msbuild quando nuovi componenti sono stati sviluppati.Entrambi supportano le stesse caratteristiche principali e possibile chiamare gli altri, se trovare un'attività che è supportato nativamente in uno ma non l'altro.

Per i nuovi .NETTO di sviluppo a partire con MSBuild, si può risparmiare un sacco di tempo, poiché in grado di eseguire la soluzione direttamente i file.Si estende dal principale compilazione di eseguire altre attività (controllo di origine, distribuzione, ecc) funziona abbastanza bene.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top