我正在尝试为特定团队项目(projectA)实施自定义策略。但是,当我在projectA的上下文中实现它时,它会评估包含的check ins中的每个文件。假设我有一张大于1MB的ProjectB签到。即使它不在当前政策projectA的背景下,它也将对此进行评估。如何调整它以便它只评估当前项目。
public override PolicyFailure[] Evaluate()
{
foreach (PendingChange pc PendingCheckin.PendingChanges.CheckedPendingChanges)
{
FileInfo file = new FileInfo(pc.LocalOrServerItem.ToString());
if (file.Length > 1048576)
{
return new PolicyFailure[] { new PolicyFailure("File size exceeds 1 MB. The size of the file is: " + file.Length.ToString() + " Bytes.", this) };
}
}
return new PolicyFailure[0];
}
注册表项我使用:
[$RootKey$\TeamFoundation\SourceControl\Checkin Policies]
"TeamFoundation.Samples.CheckFileSizePolicy"="$PackageFolder$\CheckFileSizePolicy.dll"
答案 0 :(得分:2)
如果自定义签入策略运行良好,则只需使用自定义路径策略。就像上面提到的描述一样:此策略将其他策略范围限定为特定文件夹或文件类型。
注意:需要TFS 201X Power Tools。
有关如何使用此功能的详细步骤,您可以参考以下链接:TFS 2010 : How to apply check-in policies to only certain branches or folders