Сборка TFS 2010 выдает ошибку WorkItemStore, если включен параметр Создать рабочий элемент при сбое - PullRequest
0 голосов
/ 08 декабря 2010

Я использую TFS 2010 Build.У меня есть определение сборки, в котором используется шаблон DefaultTemplate.xaml, который есть в TFS 2010, а для свойства Создать рабочий элемент при сбое в определении сборки установлено значение True.Я намеренно внес изменение в свой проект, которое нарушает сборку.

При запуске сборки я вижу ошибку компиляции, отраженную в журнале сборки TFS в Visual Studio, но я получаю ошибку «Значение не может быть нулевым.Имя параметра: WorkItemStore ", когда TFS Build в следующий раз пытается создать рабочий элемент для сломанной сборки.

Я отследил действие в DefaultTemplate.xaml (см. Довольно длинный путь к нему ниже), где находится рабочий элементсоздан для сломанной сборки, и я вижу, что он использует класс Microsoft.TeamFoundation.Build.Workflow.Activities.OpenWorkItem для создания рабочего элемента.Соответствующие значения, похоже, были заполнены в окне «Свойства» для действия «Создать рабочий элемент», поэтому я не вижу, куда я могу передать ему WorkItemStore, и даже не знаю подходящих значений для этого параметра.

Путь к действию Создать рабочий элемент:
Процесс> Последовательность> Агент запуска> Попробовать скомпилировать, проверить и связать наборы изменений и рабочие элементы> Последовательность> Скомпилировать, проверить и связать наборы изменений и рабочие элементы> Попробовать скомпилировать и проверить>Компилировать и тестировать> Для каждой конфигурации в BuildSettings.PlatformConfigurations> Компилировать и тестировать для конфигурации> If BuildSettings.HasProjectsToBuild> Для каждого проекта в BuildSettings.ProjectsToBuild> Попробуйте скомпилировать проект> Исключение дескриптора> Если CreateWorkItem> Создать рабочий элемент для не-ShelvesetСборки> Создать рабочий элемент

1 Ответ

0 голосов
/ 27 декабря 2010

Имеет ли учетная запись службы, с которой работает агент сборки, доступ к рабочим элементам в командном проекте? Это может быть причиной того, что объект WorkItemStore будет нулевым.

Обычно учетные записи службы агента сборки добавляются в группу «Учетные записи службы сборки коллекции проектов», которая уже имеет такой доступ в каждом командном проекте. Однако если вы настроили шаблон процесса, свои группы / разрешения или неправильно настроили агенты сборки - тогда разрешения могут быть неверными.

...