Domanda

Manteniamo un'applicazione di medie dimensioni finestre sviluppato in VB / C # .NET nel lavoro. Ancora oggi la costruzione e il processo di distribuire per questa applicazione è manuale. Sono determinato a rendere questo processo automatizzato utilizzando MSBuild su cui non ho conoscenza ancora oggi.

La nostra applicazione ha una semplice struttura costruttiva, set di progetti già raggruppati in quattro soluzioni (.sln) e solo bisogno di costruire quattro linfonodi sentinella in un ordine. E poi pubblicare un progetto (che è parte dell'ultima SLN da costruire) in una directory. Questo è tutto. Un semplice processo che è già consumando 30 minuti di tempo di costruzione manuale e sono abbastanza sicuro che questo può essere realizzato senza interferenze manuale utilizzando msbuild in atleast 1/4 esimo del tempo.

Tutti i miei obiettivi impostati bene, ho iniziato a cercare in giro per il web MSBuild risorse per realizzare il mio processo, ma possono essere alla ricerca intorno a molte cose mi confusi. Hai bisogno di un puntatore o una buona spiegazione su come avviare e da dove cominciare per la mia semplice scenario. Aiuto è molto apprezzato.

È stato utile?

Soluzione

Questo suona come una sceneggiatura molto facile da scrivere. Anche un file batch farebbe:

msbuild \path\to\first.sln /p:Configuration=Release
msbuild \path\to\second.sln /p:Configuration=Release
msbuild \path\to\third.sln /p:Configuration=Release
msbuild \path\to\fourth.sln /p:Configuration=Release
call deploy

Naturalmente, molto meglio sarebbe avere un server in esecuzione, dicono CruiseControl.NET , che dà un'interfaccia web in stato di costruzione e la storia.

In MS Build, ci sono due principali punti di controllo per il chiamante: Il bersaglio e le sue proprietà. L'obiettivo è quello di compilare, le risorse, la compilazione, distribuzione, ecc Le proprietà di controllo come bersaglio che è costruito.

È possibile controllare la configurazione con il Configurazione di proprietà (vedi sopra). Se si apre il *. * Proj file, si noterà elementi PropertyGroup. Questi sono impostabili tramite la riga di comando utilizzando l'ARG /p.

Ecco le specifiche per i due argomenti:

/target:<targets>  Build these targets in this project. Use a semicolon or a
                 comma to separate multiple targets, or specify each
                 target separately. (Short form: /t)
                 Example:
                   /target:Resources;Compile

/property:<n>=<v>  Set or override these project-level properties. <n> is
                 the property name, and <v> is the property value. Use a
                 semicolon or a comma to separate multiple properties, or
                 specify each property separately. (Short form: /p)
                 Example:
                   /property:WarningLevel=2;OutDir=bin\Debug\

Altri suggerimenti

Ecco una buona guida che ha un sacco di grandi informazioni su MSBuild, Continuous Integration e CuriseControl.NET. Sicuramente un buon punto di partenza.

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