Je cherche à étendre certaines tâches de post-construction pour inclure l'extraction puis l'archivage d'une DLL. Nous utilisons TFS et je sais qu'il existe des outils de ligne de commande pour cela. Ce que je ne sais pas comment faire est de les intégrer dans mes tâches de post-construction existantes. À l'heure actuelle, mes tâches de création de post sont simples et sont gérées dans Visual Studio via les propriétés du projet. Finalement, je veux répartir mes tâches de construction personnalisées dans des fichiers externes et les appeler, mais cela fait l'objet d'une autre question;)Tâches de Visual Studio Build - Opérations TFS
Répondre
Vous pouvez utiliser Team Foundation Server client API. TeamFoundationServer est la classe de base qui devrait vous permettre de vous connecter à un serveur, de lister et de manipuler des projets TFS.
msbuildtasks a des extensions pour msbuild avec code source (son opensource). Vous pouvez l'utiliser pour créer votre propre fonctionnalité d'archivage/extraction. (En combinaison avec ce que suggère Darin)
Sans recourir à vous pouvez essayer personnalisé construire des tâches à utiliser le Team Foundation Source Control Command-Line tool (tf.exe).
L'exemple ci-dessous montre comment utiliser tf.exe pour extraire un fichier de TFS.
<PropertyGroup>
<TfCommand>
"C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\tf.exe"
</TfCommand>
</PropertyGroup>
<Target Name="AfterCompile">
<Exec Command="$(TfCommand) get /force /noprompt "$(SolutionRoot)\sources\example.cs""
ContinueOnError="true" />
<Exec Command="$(TfCommand) checkout "$(SolutionRoot)\sources\example.cs""
ContinueOnError="true"/>
</Target>
Inclure dans votre propre fichier de projet MSBuild.
Cet exemple ne fait rien d'utile et vous devez le modifier pour qu'il corresponde à votre environnement, mais peut-être que cela vous permet de commencer. J'ai reçu cet exemple de tfsbuild.com.
Jetez un oeil à la SDC Tasks Library sur CodePlex. C'est un ensemble de tâches MSBuild personnalisées qui inclut les tâches Checkin et Checkout (voir l'espace de noms Microsoft.Sdc.Tasks.SourceTfs dans la documentation d'accompagnement). Vous pouvez incorporer ces tâches dans la cible "AfterBuild" dans votre fichier de projet.
<SourceTfs.Checkout Path="Path" TfsVersion="tfsVersion"
WorkingDirectory="workingDirectory"/>
<SourceTfs.Checkin Path="Path" Comments="Comments" TfsVersion="tfsVersion"
WorkingDirectory="workingDirectory" Override="overrideText"/>
Vous devez définir TfsVersion sur "2005" ou "2008" selon le cas.
Notre équipe a plusieurs petits projets qui produisent des DLL utilisées par plusieurs autres projets. Une partie de notre publication est de publier ces DLL. J'utilise la cible AfterDropBuild pour cela. J'espère que les commentaires dans mon extrait de script de construction sont assez clairs pour montrer ce que je fais.
<!-- Get a reference to the new release address finalizer DLL and the existing published address finalizer DLL -->
<PropertyGroup>
<ReleaseDLL>$(DropLocation)\$(BuildNumber)\Release\Address_Finalizer.dll</ReleaseDLL>
<PublishedFolder>$(SolutionRoot)\3rd Party\bin\PG File Import</PublishedFolder>
<PublishedDLL>$(PublishedFolder)\Address_Finalizer.dll</PublishedDLL>
</PropertyGroup>
<!-- Check out the published DLL -->
<Exec WorkingDirectory="$(SolutionRoot)" Command='$(TfCommand) checkout /lock:checkout "$(PublishedDLL)"'/>
<!-- Copy release to published -->
<Copy SourceFiles="$(ReleaseDLL)" DestinationFolder="$(PublishedFolder)"/>
<!-- Check in the published DLL -->
<Exec WorkingDirectory="$(SolutionRoot)" Command='$(TfCommand) checkin /override:Automated /noprompt /comment:"$(VersionComment)" "$(PublishedDLL)"'/>
- 1. statistiques Build Visual Studio
- 2. Visual Studio, MS Build
- 3. Couverture de code possible pour le projet TFS Build Build 2008 Visual Studio 2010?
- 4. Panneau de tâches Visual Studio
- 5. TFS Build Fails
- 6. Progression de Build dans Visual Studio
- 7. Erreur de génération Visual Studio 2010 TFS
- 8. Visual Studio 2010 sur le serveur Team Build?
- 9. Solution gratuite Visual Studio Build Automation
- 10. build VDProj sans Visual Studio installé
- 11. Post-build Erreur d'événement Visual Studio 2008
- 12. Liste les tâches javascript dans Visual Studio Liste des tâches
- 13. TFS build server
- 14. TFS 2008 Build Script
- 15. TFS 2010 Build Service
- 16. Tâches Perforce pour MS Build
- 17. TFS Build pour Dynamics AX?
- 18. TFS 2010 Automated Build Server
- 19. Comment importer des tâches à partir de TFS dans la liste des tâches du projet VS Studio?
- 20. Visual Studio 2005 Build de Python avec Debug .lib
- 21. Gestion des versions de build dans Visual Studio
- 22. Signification de la commande COPY utilisée par Visual Studio Build?
- 23. Automatiser l'ouverture de session TFS à partir de Visual Studio
- 24. Importer des espaces de travail TFS Visual Studio
- 25. Visual Studio et TFS pour le gestionnaire de test
- 26. Gestion de projet avec Visual Studio, sans TFS?
- 27. Visual Studio TFS construit avec une couverture de code
- 28. TFS: opérations de fusion multiples sur le même fichier
- 29. TFS Build Automation - Web Deployment Erreur de projet
- 30. TFS build, à quel fichier dois-je ajouter mes tâches personnalisées?
de Nice ... vous pouvez ajouter les outils de ligne de commande vous PATH donc si vous passez à une boîte de construction x64 vous ne devez pas mettre à jour le fichier de construction. –