2009-02-22 8 views
2

Notre application utilise une combinaison de plates-formes ASP.NET et Flex.Dois-je utiliser un fichier de solution avec une définition Team Build?

Je suis en mesure d'utiliser avec succès le service de génération pour créer et déployer le site Web .NET. Cela fonctionne bien. Cependant, nous avons aussi nos fichiers ActionScript dans TFS et j'ai créé un fichier batch pour compiler avec succès le code ActionScript à partir de la ligne de commande.

Je souhaite créer deux définitions de génération distinctes pour la compilation ASP.NET et Flex. Flex n'a évidemment pas de fichier SLN - puis-je créer un fichier de définition de construction à partir de zéro pour prendre en charge le fichier de commandes de compilation Flex sans fichier de solution? Les tâches sont assez simples à créer (voir ci-dessous), mais je n'ai jamais créé de script Team Build personnalisé sans utiliser l'assistant Create - et l'assistant Create vous demande de fournir un fichier de solution que je n'ai pas.

Mon script de construction serait très straight-forward:

  1. obtenir la dernière version des fichiers ActionScript
  2. Exécutez le fichier batch compilation ActionScript
  3. Copiez les fichiers ActionScript dans le dossier Deploy

Répondre

3

Absolument. TFSBuild.proj est un fichier MSBuild qui appelle la construction de votre solution dans TFS. Vous pouvez modifier cela pour construire ce que vous voulez en utilisant MSBuild, qui est la langue dans laquelle les fichiers .vbproj et .csproj sont écrits. Il y a beaucoup de tâches que MSBuild vous permet d'utiliser ...

+0

correction rapide: fichiers Solution (.sln) (dans Visual studio 2005 et 2008 de toute façon) ne sont pas au format msbuild. .csproj et .vbproj sont .. –

+0

@Alan: true. Édité. Mais vous pouvez exécuter msbuild contre les fichiers .sln, ce qui est étrange mais sympa. –

0

Non, vous ne le faites pas besoin d'un fichier de solution pour obtenir une construction en utilisant TFSBuild. Un fichier de projet très simple pourrait ressembler à ceci (avec la permission 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> 

S'il vous plaît nous sur ce page de blog de Aarons. Les cibles par défaut dans un fichier TFSBuild.proj est réellement défini dans un fichier cible « commun » et importés dans le projfile par cette instruction:

<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v8.0\TeamBuild\Microsoft.TeamFoundation.Build.targets" /> 

Si l'importation est que vous retiré besoin de la cible EndToEndIteration pour obtenir tfsbuild fonctionnement ....

Tous les meilleurs /Niels

Questions connexes