2010-12-08 4 views
0

Ich verwende TFS 2010 Build. Ich habe eine Builddefinition, die die in TFS 2010 vorhandene Vorlage DefaultTemplate.xaml verwendet, und die Eigenschaft Arbeitselement bei Fehler erstellen ist in der Builddefinition auf True festgelegt. Ich habe bewusst eine Änderung in meinem Projekt vorgenommen, die den Build durchbricht.TFS 2010 Build gibt WorkItemStore-Fehler, wenn Arbeitselement bei Fehler erstellen aktiviert ist

Wenn der Build ausgeführt wird, wird der Kompilierungsfehler im TFS-Buildprotokoll in Visual Studio angezeigt, aber der Fehler "Wert kann nicht null sein. Parametername: WorkItemStore", wenn TFS Build als Nächstes versucht, ein Arbeitselement zu generieren für den kaputten Build.

Ich habe die Aktivität in DefaultTemplate.xaml aufgespürt (siehe den ziemlich langen Pfad dazu), wo das Arbeitselement für einen fehlerhaften Build erstellt wird, und ich sehe, dass es die Microsoft.TeamFoundation.Build.Workflow.Activities verwendet. OpenWorkItem-Klasse zum Erstellen des Arbeitselements. Die entsprechenden Werte scheinen im Fenster Eigenschaften für die Aktivität Arbeitselement erstellen ausgefüllt zu sein. Daher kann ich nicht sehen, wo ich WorkItemStore übergeben kann, und ich kenne nicht einmal die richtigen Werte für diese Einstellung.

Pfad zum Erstellen Work Item Aktivität:
Prozess> Sequence> Ausführen On Agent> Versuchen Compile, Test und Mitarbeiter Changesets und Work Items> Sequence> Compile, Test und Mitarbeiter Change und Work Items> Versuchen Compile und Test> Kompilieren und Testen> Für jede Konfiguration in BuildSettings.PlatformConfigurations> Kompilieren und Testen für die Konfiguration> Wenn BuildSettings.HasProjectsToBuild> Für jedes Projekt in BuildSettings.ProjectsToBuild> Versuchen Sie, das Projekt zu kompilieren> Handle Exception> Wenn CreateWorkItem> Arbeitselement für nicht erstellen -Shaveset-Builds> Arbeitselement erstellen

Antwort

0

Funktioniert das Dienstkonto, das der Erstellungsagent ausführt, auf Arbeitselemente im Teamprojekt? Dies kann ein Grund sein, warum das Objekt WorkItemStore null ist.

Normalerweise werden Agent-Dienstkonten zur Gruppe "Project Collection Build-Dienstkonten" hinzugefügt, die bereits über diesen Zugriff für jedes Teamprojekt verfügen. Wenn Sie jedoch die Prozessvorlage, Ihre Gruppen/Berechtigungen angepasst haben oder die Build-Agenten nicht richtig eingerichtet haben, sind die Berechtigungen möglicherweise nicht korrekt.

+0

Guter Punkt. Ich hatte gehofft, dass dies funktionieren würde, aber selbst wenn ich den TFS Build-Dienstaccount, den ich als Sammlungsadministrator verwende, hinzufüge, funktioniert es immer noch nicht. Ich verwende die DefaultTemplate.xaml-Prozessvorlage, die mit TFS 2010 ausgeliefert wird, und nichts ist herausragend, als ich meine TFS-Build-Agent-Einstellungen überprüft habe. Ich bin ratlos. –

Verwandte Themen