Domanda

Sto gettando le basi per un processo di compilazione automatizzato e sto cercando di assicurarmi di iniziare la strada giusta. La nostra base di codice è una combinazione di C ++ gestito / non gestito. La parte gestita è in .NET 2.0 e tutti i progetti fanno parte di una soluzione di Visual Studio 2005.

In questo momento sto guardando NAnt, ma non riesco a capire come eseguire una build. Quando provo a compilare utilizzando il tag, viene visualizzato un errore:

  

Le soluzioni Microsoft Visual Studio.NET 2005 non sono supportate.

Mi sento come se stessi affrontando questo problema dalla direzione sbagliata. Qualcuno può indicarmi quello giusto?

P.S. Voglio anche eseguire doxygen come parte del processo di compilazione, ma presumo che qualunque strumento scelga mi permetta di eseguirlo almeno come comando di shell.

È stato utile?

Soluzione

Cosa c'è che non va in MSBuild? Tutti i tuoi progetti lo utilizzano già, è un buon prodotto ed è gratuito.

Altri suggerimenti

Abbiamo usato NAnt da VS003, VS2005 e ora con VS2008 (anche se VS2008 e .net 3.5 richiedono l'ultima generazione di NAnt 0.86+), quindi per rispondere alla tua prima domanda, sì, NAnt funzionerà perfettamente.

Ecco un modello che dovrebbe iniziare:

<?xml version="1.0"?>
<project name="Test Build" default="build" xmlns="http://nant.sf.net/release/0.85-rc4/nant.xsd">

<property name="target" value="rebuild" overwrite="false" />
<property name="configuration" value="debug" overwrite="false" />
<property name="projectName" value="MyProject.sln"/>

<target name="build" description="Build all targets.">
    <call target="build.MyProject"/>
</target>

<target name="build.MyProject">
    <exec program="MSBuild" failonerror="true" commandline="/t:${target} /p:Configuration=${configuration} ${projectName}" />
</target>

</project>

E infine assicurati che il tuo ambiente sia configurato correttamente quando esegui la build per VS2005:

build.bat:

call "C:\Program Files\Microsoft Visual Studio 8\VC\vcvarsall.bat" x86
"C:\Program Files\NANT\bin\NAnt.exe" -t:net-2.0 -logfile:buildlog.txt %*

Vieni a pensarci bene, MSBuild per VS2005 (8.0) non completamente supporta VC ++. A seconda della combinazione di progetto, si potrebbero riscontrare problemi con l'utilizzo di MSBuild in quanto chiama direttamente VCBuild per progetti nativi (che può essere visto nel forum msdn ).

Quindi, a seconda dei progetti, MSBuild o VCBuild dovrebbero fare il trucco. Per rimanere all'interno di NAnt si può usare MSBuild o VCBuild direttamente usando il task exec.

Se in VS2008 (.NET 3.5 framework), MSBuild ha un VCBuild compito . È quindi possibile utilizzare l'ultima versione (.86 beta 1) di NAnt , combinata con NAntContrib (fornisce task msbuild) per ottenere il supporto 3.5.

Puoi usare il controllo automatico della velocità con c ++:

http://confluence.public.thoughtworks.org/display/CC/UsingCruiseControlWithCplusPlus

Usiamo make / cron e alcuni script fatti in casa per build multipiattaforma e fa il lavoro (incluso l'esecuzione di unit test) - il reporting è un po 'rozzo però

Kinook ha un bel prodotto chiamato Visual Build che potrebbe soddisfare le tue esigenze.

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