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 Power Tools が必要です。

これを使用する方法の詳細な手順については、次のリンクを参照してください: TFS 2010 : チェックイン ポリシーを特定のブランチまたはフォルダーのみに適用する方法

于 2016-02-23T10:54:12.340 に答える