2010-10-07 1 views
13

Ho un file di soluzione che comprende 15 progetti con alcuni riferimenti dll di terze parti. Voglio essere in grado di costruire la soluzione da un file batch. Qual è il modo migliore per farlo?soluzione accumulo .net da file batch

Grazie

+0

è il vostro obiettivo build automation? Se è così, ci sono molti strumenti là fuori per facilitare questo (più robusto che creare file .bat comunque). –

+0

@BrandonBoone uno migliore? – IsmailS

+0

@iSid - ho avuto un certo successo con [Cruise Control] (http://www.cruisecontrolnet.org/) per il continuo build automation. Si integrerà con il repository di controllo del codice sorgente e ricostruirà i progetti quando effettui il check-in. Credo che possa anche eseguire i test unitari. –

risposta

23

Run msbuild - ad esempio:

msbuild MySolution.sln /p:Configuration=Release /p:Platform="Any CPU" 
+0

Wow ..che era easy..thanks – stackoverflowuser

3

Un modo per iniziare è quello di aprire il progetto in Visual Studio e selezionare costruzioni | Ricostruisci la soluzione. Quindi vai a Visualizza | Produzione. Nella finestra di output seleziona "Crea" nel menu a discesa Mostra opzioni da. Questo mostrerà i comandi che Visual Studio sta usando per costruire il progetto. È possibile incollarli in un file batch e leggerli o modificarli come desiderato.

Se si desidera mantenere sia Debug e Release versioni dell'applicazione, allora si dovrà selezionare la configurazione corretta e quindi seguire i passaggi precedenti per ogni versione.

+0

Qualcuno può spiegare il voto negativo? L'informazione non è corretta? Non affronta la domanda posta? –

+0

Penso che sia perché ha chiesto come creare una soluzione da un file batch, ma la tua soluzione utilizza Visual Studio per eseguire una build e non risponde alla sua domanda. –

+0

@ TomMiller - Sto solo utilizzando Visual Studio come un modo semplice per generare il comando batch. Non gli sto dicendo come costruirlo in VS. –

16

Uno dei modi più semplici è quello di eseguire msbuild con il file di soluzione come input:

@echo off 
call %windir%\Microsoft.NET\Framework\v4.0.30319\msbuild.exe path\to\solution.sln 

Se questo viene fatto in un prompt dei comandi di Visual Studio puoi saltare il percorso di msbuild.exe.

+1

+1 grazie Fredrik – stackoverflowuser