私の問題は実際にはTFS API: GetLocalWorkspaceInfo always returns nullに似ていますが、私はビジュアルスタジオ2015を使用しています。私はGetAllLocalWorkspaceInfoを試しました、それは同様にnullを返します。私は、コードをテストしているGetLocalWorkspaceInfoは常にnullを取得
おかげ
私の問題は実際にはTFS API: GetLocalWorkspaceInfo always returns nullに似ていますが、私はビジュアルスタジオ2015を使用しています。私はGetAllLocalWorkspaceInfoを試しました、それは同様にnullを返します。私は、コードをテストしているGetLocalWorkspaceInfoは常にnullを取得
おかげ
あなたはVS 2015に言及し、成功した結果を得たスニペット。あなたはVS 2015でのDLLの参照を持っていることを確認してください:c:\program files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer
、コードスニペットに、あなたがしたいワークスペース情報を出力するConsole.WriteLine
を使用する必要があります。
private static Workspace FindWorkspaceByPath(TfsTeamProjectCollection tfs, string workspacePath)
{
VersionControlServer versionControl = tfs.GetService<VersionControlServer>();
WorkspaceInfo workspaceInfo = Workstation.Current.GetLocalWorkspaceInfo(workspacePath);
if (workspaceInfo != null)
{
Console.WriteLine(workspaceInfo.Computer);
Console.WriteLine(workspaceInfo.DisplayName);
return versionControl.GetWorkspace(workspaceInfo);
}
//No Workspace found using method 1, try to query all workspaces the user has on this machine.
Workspace[] workspaces = versionControl.QueryWorkspaces(null, Environment.UserName, Environment.MachineName);
foreach (Workspace w in workspaces)
{
foreach (WorkingFolder f in w.Folders)
{
if (f.LocalItem.Equals(workspacePath))
{
return w;
}
}
}
throw new Exception(String.Format("TFS Workspace cannot be determined for {0}.", workspacePath));
}
私はこの問題を発見しているためこの問題がある場合は、パッケージのバージョンがビジュアルスタジオのバージョンと一致することをご確認ください