Domanda

Sto automatizzando il mio processo di compilazione usando TeamFoundation e devo scegliere quali progetti compilare in base al file .proj dalla compilazione. Ecco lo scenario completo:

Ho un file .proj che utilizza un file .sln per compilare una soluzione che contiene 2 siti Web. Il file .sln è configurato per compilare entrambi i siti Web nella configurazione della versione.

Il mio obiettivo è quello di compilare solo 1 sito Web per tipo di build, ovvero voglio che BuildType1 compili il sito Web 1 e BuildType2 per compilare il sito Web 2.

È possibile " modificare " il .sln in modo da poter deselezionare uno dei siti Web da compilare? Poiché si tratta di un processo automatizzato, non posso modificare manualmente .sln ogni volta che voglio compilare un solo sito Web.

È stato utile?

Soluzione

Guarda la sezione SolutionToBuild nel file TFSBuild.proj.

<SolutionToBuild Include="$(BuildProjectFolderPath)/path/MySolution.sln">
   <Targets>MyCustomTarget1;MyCustomTarget2</Targets>
   <Properties> Configuration=Release</Properties>
</SolutionToBuild>

Altri suggerimenti

Esistono due modi principali per controllare la build:

  • crea un tipo di build separato in Team Explorer. Questo avrà il suo file TFSBuild.proj completamente indipendente, in modo da poter costruire la stessa base di codice in un modo completamente diverso. Imposta SolutionToBuild per creare esattamente ciò che desideri (come descritto nella risposta accettata).

  • Usa un tipo di build e imposta TFSBuild.proj in modo che utilizzi una proprietà per controllare ciò che viene creato (ciò richiede una comprensione più approfondita degli script di MSBuild). Nella finestra di dialogo Coda nuova build è quindi possibile utilizzare il flag / p: riga comandi per impostare la proprietà in base alle proprie esigenze. per esempio. & Quot; / p: IncrementalGet = false; IncrementalBuild = false; ForceGet = true " forzerà una build normalmente incrementale a fare una ricostruzione completa. Ciò è utile per situazioni occasionali, ma non è una buona idea per le build quotidiane poiché è necessario impostare i parametri manualmente ogni volta.

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