1

以下を使用してチェックイン ポリシーを作成しています。

using Microsoft.TeamFoundation.VersionControl.Client;

現在のワークスペースまたは PendingCheckin から現在の TFS チーム プロジェクト名を取得したい

何か案は?

4

2 に答える 2

2

次のように、保留中の変更に対して VersionControlServer.GetTeamProjectForServerPathを使用できます。

var pendingChange = pendingCheckin.GetAllPendingChanges().FirstOrDefault();
if(pendingChange != null) {
    return vcs.GetTeamProjectForServerPath(pendingChange.ServerItem);
}

これは、保留中の変更が複数のチーム プロジェクトにまたがっているかどうかを検出できることも意味します。


編集/拡張:

考えてみると、チェックインしているファイルがまだサーバー上にない可能性があるため、おそらくローカル パスを使用する必要があります (追加)。

そのため、代わりにWorkspace.GetTeamProjectForLocalPathを使用できます。

var workspace = pendingCheckin.GetWorkspace();
var pendingChange = pendingCheckin.GetAllPendingChanges().FirstOrDefault();
if(pendingChange != null) {
    return workspace.GetTeamProjectForLocalPath(pendingChange.LocalItem);
}
于 2013-04-11T13:55:47.050 に答える
0

でアクセスできます

  BuildDetail.TeamProject

C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\ReferenceAssemblies\v2.0\Microsoft.TeamFoundation.Build.Client.dll でアセンブリを見つけます。

于 2013-04-11T12:17:42.510 に答える