在我的一台机器上,我从任何GetLocalWorkspaceInfo
调用中都获得了null的返回值。对于这个简单的程序,我已经隔离到甚至失败的地方:
namespace WorkstationTest
{
using Microsoft.TeamFoundation.VersionControl.Client;
class Program
{
static void Main()
{
string workspaceLocalPath = @"C:\Dev";
var info = Workstation.Current
.GetLocalWorkspaceInfo(workspaceLocalPath);
// info is always null here
}
}
}
我已经检查过的内容:
C:\Dev
上有一个工作区workspaceLocalPath
变量以使其匹配。 if the path is not in a workspace
。根据上图,路径应位于工作空间中。 然而,一切似乎都表明这应该可行。我有什么想念的吗?
最佳答案
从公司的TFS2013迁移到TFS2017之后,我在Workstation.Current.GetLocalWorkspaceInfo上遇到了同样的问题。
对我有用的是对 Workstation.EnsureUpdateWorkspaceInfoCache
的调用:
TfsTeamProjectCollection tpc = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri("<your-tfs-uri-here>"));
VersionControlServer tfServer = tpc.GetService<VersionControlServer>();
Workstation.Current.EnsureUpdateWorkspaceInfoCache(tfServer, tfServer.AuthorizedUser);
我将以上代码行添加到使用GetLocalWorkspaceInfo的TFS代理类的构造函数中。
关于c# - TFS API : GetLocalWorkspaceInfo always returns null,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15956307/