Как загрузить Checkin Policy в пользовательский плагин TFS
Я создал плагин для программы, которая добавляет интеграцию TFS-VCS в эту программу, используя Microsoft.TeamFoundation.*
-Namespaces.
В основном это работает, но теперь у меня есть проблема с пользовательскими политиками регистрации:
У нас активированы 2 политики регистрации для проекта: ChangesetCommentPolicy от TFS Power Tools и пользовательская политика, которую мы создали. Оба работают в Visual Studio и Shell Integration, но в моем плагине я получаю следующую ошибку:
Внутренняя ошибка в политике комментариев Changeset. Ошибка при загрузке политики комментариев к Changeset. Инструкции по установке: Чтобы установить эту политику, следуйте инструкциям в CheckForComments.cs.
То же самое для нашей пользовательской политики, только с другим именем политики.
Вот фрагмент кода, как я получаю предупреждения политики:
//CurrentWorkspace is Microsoft.TeamFoundation.VersionControl.Client.Workspace
CheckinEvaluationResult result = Manager.CurrentWorkspace.EvaluateCheckin(CheckinEvaluationOptions.Policies,
PendingChanges.ToArray(), changes.ToArray(), textBoxComment.Text, GetCurrentCheckinNotes(), GetSelectedWorkItems());
if (result.PolicyEvaluationException != null || result.PolicyFailures.Length > 0)
{
labelPolicyWarning.Text = "The following check-in policies have not been satisfied";
pictureBoxWarning.Visible = true;
foreach (PolicyFailure failure in result.PolicyFailures)
{
items.Add(failure);
}
if (result.PolicyEvaluationException != null)
items.Add(result.PolicyEvaluationException);
objectListViewPolicyWarnings.SetObjects(items);
}
else
{
labelPolicyWarning.Text = "All check-in policies are satisfied";
pictureBoxWarning.Visible = false;
}
Как я могу "загрузить" политики в моем плагине, чтобы они могли быть выполнены?
PS: Программа, для которой предназначен плагин, - это FlashDevelop, если это имеет значение.
2 ответа
Кажется, это не поддерживается в настоящее время, так как даже у MS нет решения: http://social.msdn.microsoft.com/Forums/pl-PL/tfsgeneral/thread/344b1846-d571-4d17-842b-70fc05f5a83a
Я получил то же сообщение об ошибке при вызове tfs checkin в моей программе. После небольшого поиска кажется, что сообщение об ошибке пришло из Team explorer, после установки TFS Power Tools 2010 это сообщение больше не показывалось.