2

我正在尝试为特定团队项目 (projectA) 实施自定义策略。但是,当我在 projectA 的上下文中实现它时,它会评估包含的签入中的每个文件。假设我签入了大于 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"
4

1 回答 1

2

如果自定义签入策略运行良好,您只需要使用自定义路径策略。就像提到的描述一样:此策略将其他策略的范围限定为特定文件夹或文件类型。

注意:需要 TFS 201X 电动工具。

关于如何使用这个的详细步骤,你可以参考这个链接:TFS 2010 : How to apply check-in policies to only certain branch or folder

于 2016-02-23T10:54:12.340 回答