2010-12-08 58 views
0

J'utilise TFS 2010 Build. J'ai une définition de génération qui utilise le modèle DefaultTemplate.xaml stocké dans TFS 2010 et la propriété Create Work Item on Failure est définie sur True dans la définition de génération. J'ai délibérément fait un changement dans mon projet qui brise la construction. Lorsque la génération s'exécute, je vois l'erreur de compilation reflétée dans le journal de construction TFS dans Visual Studio, mais j'obtiens l'erreur "La valeur ne peut pas être null Nom du paramètre: WorkItemStore" lorsque TFS Build next essaie de générer un élément de travail pour la construction cassée.TFS 2010 Build génère une erreur WorkItemStore lors de l'activation de l'élément de travail en cas d'échec

J'ai suivi l'activité dans DefaultTemplate.xaml (voir le chemin assez long ci-dessous) où l'élément de travail est créé pour une génération cassée, et je vois qu'il utilise Microsoft.TeamFoundation.Build.Workflow.Activities. Classe OpenWorkItem pour créer l'élément de travail. Les valeurs appropriées semblaient être remplies dans la fenêtre Propriétés pour l'activité Créer une Élément de Travail, donc je ne vois pas où je peux lui passer WorkItemStore et je ne connais même pas les valeurs appropriées pour ce paramètre.

Chemin Créer l'activité professionnelle d'objet:
processus> Séquence> Exécuter sur Agent> Essayez Compile, Test et associés Révisions et éléments de travail> Séquence> Compile, Test et associés Révisions et éléments de travail> Essayez Compile et Test> Compiler et tester> Pour chaque configuration dans BuildSettings.PlatformConfigurations> Compiler et tester pour la configuration> Si BuildSettings.HasProjectsToBuild> Pour chaque projet dans BuildSettings.ProjectsToBuild> Essayer de compiler le projet> Gérer l'exception> Si CreateWorkItem> Créer un élément de travail pour non -Shelveset Builds> Créer un élément de travail

Répondre

0

Le compte de service que l'agent de construction exécute a-t-il accès aux éléments de travail dans le projet d'équipe? Cela peut être une raison pour laquelle l'objet WorkItemStore serait nul.

Normalement, les comptes de service d'agent de génération sont ajoutés au groupe "Comptes de service de génération de collection de projets" qui a déjà cet accès sur chaque projet d'équipe. Toutefois, si vous avez personnalisé le modèle de processus, vos groupes/autorisations ou si vous n'avez pas configuré correctement les agents de génération, les autorisations risquent de ne pas être correctes.

+0

Bon point. J'espérais que cela fonctionnerait, mais même si j'ajoute le compte de service TFS Build que j'utilise en tant qu'administrateur de collection, cela ne fonctionne toujours pas. J'utilise le modèle de processus DefaultTemplate.xaml qui est livré avec TFS 2010, et rien ne s'est démarqué lorsque j'ai vérifié mes paramètres d'agent de construction TFS. Je suis perplexe. –