2010-09-03 21 views
0

Notre boutique est mis en place avec un serveur Team Foundation 2005, mais tous les travaux de développement se fait dans Visual Studio 2008.Construire API Rapport dans l'équipe Build 2005 de Visual Studio 2008

Ce que je voudrais être en mesure de faire est écrire un programme qui examine l'historique de construction d'une définition de construction donnée et extraire les résultats de test pour produire de jolis graphes du genre que Team Build ne donne pas vraiment.

Toutefois, j'ai des problèmes pour extraire le service de génération de l'API TFS. Référençant les dll TeamFoundationClient à VS2008 me fait évidemment les objets client TFS2008 et TFS2005 me permet de me connecter, mais je ne peux pas interroger le 2008 Construire le service Serveur:

TeamFoundationServer teamServer = TeamFoundationServerFactory.GetServer(m_tfsServerName); 
teamServer.EnsureAuthenticated(); 

IBuildServer buildServer; 
try 
{ 
    buildServer = (IBuildServer)teamServer.GetService(typeof(IBuildServer)); 
} 
catch(Exception ex) 
{ 
    // Error thrown: 
    // System.NotSupportedException 
    // "TF214015: The build client object model does not support Team Foundation Server 2005." 
} 

Je trouve le post suivant sur l'utilisation de l'API 2005 : http://notsosmartbuilder.blogspot.com/2006/12/get-build-changes-changesetdata.html

Toutefois, l'objet BuildStore ne fait plus partie du modèle d'objet client 2008. Puis-je avoir accès aux dlls client 2005 de quelque façon que ce soit? Je peux obtenir VS2005 avec Team Explorer installé sur ma machine de développement, y a-t-il une manière plus simple cependant? Serais-je aussi capable de référencer certaines DLL (qui ??) de l'installation de 2005 à partir d'un projet VS2008 ou serait-il moins pénible de simplement développer la chose dans VS2005?

D'autres approches possibles que je pourrais essayer? (BuildLoggers pour collecter les informations au moment de la construction et les stocker moi-même, une façon d'analyser les fichiers .trx (ai-je mentionné que nous avons plusieurs fichiers trx par test unitaire?); notre installation TFS) etc

Répondre

0

Si vous installez Team Explorer 2005, vous pouvez accéder aux DLL nécessaires à partir de VS2008. Cependant, ils ne sont pas apparus sous l'onglet .NET dans la boîte de dialogue Ajout de références VS2008, j'ai dû les parcourir dans le dossier installé de Team Explorer 2005.

J'ai eu VS2005 installé, donc pour moi les DLL ont fini dans Program Files \ Microsoft Visual studio 8 \ Common7 \ IDE \ PrivateAssemblies \

les DLL dont je avais besoin d'ajouter des références à des énumérations de base de l'histoire de la construction et la vérification des résultats des tests sont les suivants:

  • Microsoft.TeamFoundation.Client
  • Microsoft.TeamFoundation.Common
  • Microsoft.TeamFoundation.Build.Client
  • Microsoft.TeamFoundation.Build.Common