如何在自定义TFS插件中加载Checkin策略

时间:2011-07-13 09:03:08

标签: c# tfs checkin-policy

我为使用Microsoft.TeamFoundation.* - 命名空间将TFS-VCS集成添加到该程序的程序创建了一个插件。

Basicaly有效,但现在我的自定义签到政策有问题:
我们为项目激活了2个签入策略:来自TFS Power Tools的ChangesetCommentPolicy和我们创建的自定义策略。 两者都在Visual Studio和Shell Integration中工作,但在我的插件中我收到以下错误:

  

变更集注释政策中的内部错误。加载错误   变更集评论政策政策。安装说明:至   安装此策略,请按照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;
}

如何在我的插件中“加载”策略以便执行它们?

P.S。:插件适用的程序是FlashDevelop,如果重要的话。

2 个答案:

答案 0 :(得分:4)

我在程序中调用tfs checkin时收到了同样的错误消息。搜索一段时间后,似乎错误消息来自团队资源管理器,安装TFS power tools 2010后,此消息不再显示。

答案 1 :(得分:0)