3

我已经为一个程序创建了一个插件,它使用Microsoft.TeamFoundation.*-Namespaces 将 TFS-VCS 集成添加到该程序中。

基本上可行,但现在我遇到了自定义签入策略的问题:
我们为项目激活了 2 个签入策略:来自 TFS 电动工具的 ChangesetCommentPolicy 和一个由我们创建的自定义策略。两者都适用于 Visual Studio 和 Shell 集成,但在我的插件中出现以下错误:

变更集评论政策中的内部错误。加载变更集评论策略策略时出错。安装说明:要安装此策略,请按照 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,如果这很重要的话。

4

2 回答 2

4

在我的程序中调用 tfs checkin 时收到相同的错误消息。搜索了一会儿,似乎错误消息来自团队资源管理器,安装TFS 电动工具 2010后,此消息不再显示。

于 2011-11-16T12:46:05.870 回答
0

目前似乎不支持这一点,因为即使 MS 也没有解决方案: http ://social.msdn.microsoft.com/Forums/pl-PL/tfsgeneral/thread/344b1846-d571-4d17-842b-70fc05f5a83a

于 2012-09-11T08:58:29.583 回答