我已经为一个程序创建了一个插件,它使用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,如果这很重要的话。