Devo utilizzare un file di soluzione con una definizione Team Build?
-
05-09-2019 - |
Domanda
La nostra applicazione utilizza una combinazione di piattaforme ASP.NET e Flex.
Sono in grado di utilizzare con successo il servizio di build per creare e distribuire il sito Web .NET. Che funziona bene. Tuttavia, abbiamo anche i nostri file ActionScript in TFS e ho creato un file batch per compilare correttamente il codice ActionScript dalla riga di comando.
Voglio creare due definizioni di compilazione separate per la compilazione ASP.NET e Flex. Flex, ovviamente, non ha un file SLN - è possibile creare un file di definizione build da zero per supportare il Flex compilare file batch senza un file di soluzione? I compiti sono abbastanza semplici da creare (vedi sotto), ma non ho mai costruito uno script di build della squadra personalizzata senza utilizzare la procedura guidata Crea - e la procedura guidata Create si aspetta di fornire un file di soluzione, che non ho <. / p>
Il mio script di build sarebbe molto straight-forward:
- Scarica l'ultima versione dei file ActionScript
- Eseguire il file batch di compilazione ActionScript
- Copiare i file ActionScript nella cartella deploy
Soluzione
Assolutamente. TFSBuild.proj è un file MSBuild che chiama la soluzione a costruire in TFS. È possibile modificare che per costruire quello che vuoi utilizzando MSBuild, che è la lingua che .vbproj ei file Csproj sono scritti in. C'è una ricchezza di compiti che MSBuild consente di utilizzare ...
Altri suggerimenti
No non è necessario un file di soluzione per ottenere una build fatto usando TFSBuild. Un file di progetto molto semplice potrebbe essere la seguente (per gentile concessione Aaron Hallberg):
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
<Target Name="EndToEndIteration">
<Exec Command="SomeScript.cmd" />
</Target>
</Project>
Si prega di indagare su questo pagina da Aarons blog. Gli obiettivi di default in un file TFSBuild.proj è in realtà definite in un file obiettivi "comuni" e importati nel projfile da questa istruzione:
<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v8.0\TeamBuild\Microsoft.TeamFoundation.Build.targets" />
Se l'importazione viene rimosso è necessario solo il bersaglio EndToEndIteration per ottenere TFSBuild correre ....
Tutti i migliori / Niels